Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Python (programming language)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Python_(programming_language)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Python_programming_language rootpage-Python_programming_language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Python (programming language)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p class="mw-empty-elt">

</p>
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Python</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Multi-paradigm" class="mw-redirect" title="Multi-paradigm">Multi-paradigm</a>: <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <a href="Procedural_programming" title="Procedural programming">procedural</a> (<a href="Imperative_programming" title="Imperative programming">imperative</a>), <a href="Functional_programming" title="Functional programming">functional</a>, <a href="Structured_programming" title="Structured programming">structured</a>, <a href="Reflective_programming" title="Reflective programming">reflective</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed&nbsp;by</a></th><td class="infobox-data"><a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a href="Python_Software_Foundation" title="Python Software Foundation">Python Software Foundation</a></td></tr><tr><th scope="row" class="infobox-label">First&nbsp;appeared</th><td class="infobox-data">20&nbsp;February 1991<span style="display:none">&nbsp;(<span class="bday dtstart published updated">1991-02-20</span>)</span><sup id="cite_ref-alt-sources-history_2-0" class="reference"><a href="#cite_note-alt-sources-history-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">3.13.6<sup id="cite_ref-wikidata-48a861e4891ff02557896048efdb91c8c18603ae-v20_3-0" class="reference"><a href="#cite_note-wikidata-48a861e4891ff02557896048efdb91c8c18603ae-v20-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>&nbsp;
/ 6 August 2025<span style="display:none">&nbsp;(<span class="bday dtstart published updated">6 August 2025</span>)</span></div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle#Beta" title="Software release life cycle">Preview release</a></th><td class="infobox-data"><div style="margin:0px;">3.14.0rc1
/ 22&nbsp;July 2025<span style="display:none">&nbsp;(<span class="bday dtstart published updated">2025-07-22</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="Duck_typing" title="Duck typing">duck</a>, <a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">dynamic</a>, <a href="Strong_and_weak_typing" title="Strong and weak typing">strong</a>;<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="Optional_typing" class="mw-redirect" title="Optional typing">optional type annotations</a><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>b<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="Python_Software_Foundation_License" title="Python Software Foundation License">Python Software Foundation License</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.py, .pyw, .pyz,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><br>
.pyi, .pyc, .pyd</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://www.python.org/">python.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Major <a href="Programming_language_implementation" title="Programming language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-data"><a href="CPython" title="CPython">CPython</a>, <a href="PyPy" title="PyPy">PyPy</a>, <a href="MicroPython" title="MicroPython">MicroPython</a>, <a href="CircuitPython" title="CircuitPython">CircuitPython</a>, <a href="IronPython" title="IronPython">IronPython</a>, <a href="Jython" title="Jython">Jython</a>, <a href="Stackless_Python" title="Stackless Python">Stackless Python</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;"><a href="Programming_language#Dialects,_flavors_and_implementations" title="Programming language">Dialects</a></th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Cython" title="Cython">Cython</a>, <a href="RPython" class="mw-redirect" title="RPython">RPython</a>, <a href="Bazel_(software)" title="Bazel (software)">Starlark</a><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="ABC_(programming_language)" title="ABC (programming language)">ABC</a>,<sup id="cite_ref-faq-created_15-0" class="reference"><a href="#cite_note-faq-created-15"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> <a href="Ada_(programming_language)" title="Ada (programming language)">Ada</a>,<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> <a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a>,<sup id="cite_ref-98-interview_17-0" class="reference"><a href="#cite_note-98-interview-17"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> <br><a href="APL_(programming_language)" title="APL (programming language)">APL</a>,<sup id="cite_ref-python.org_18-0" class="reference"><a href="#cite_note-python.org-18"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> <a href="C_(programming_language)" title="C (programming language)">C</a>,<sup id="cite_ref-AutoNT-1_19-0" class="reference"><a href="#cite_note-AutoNT-1-19"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> <a href="C%2B%2B" title="C++">C++</a>,<sup id="cite_ref-classmix_20-0" class="reference"><a href="#cite_note-classmix-20"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> <a href="CLU_(programming_language)" title="CLU (programming language)">CLU</a>,<sup id="cite_ref-effbot-call-by-object_21-0" class="reference"><a href="#cite_note-effbot-call-by-object-21"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> <a href="Dylan_(programming_language)" title="Dylan (programming language)">Dylan</a>,<sup id="cite_ref-AutoNT-2_22-0" class="reference"><a href="#cite_note-AutoNT-2-22"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> <br><a href="Haskell" title="Haskell">Haskell</a>,<sup id="cite_ref-AutoNT-3_23-0" class="reference"><a href="#cite_note-AutoNT-3-23"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-python.org_18-1" class="reference"><a href="#cite_note-python.org-18"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> <a href="Icon_(programming_language)" title="Icon (programming language)">Icon</a>,<sup id="cite_ref-AutoNT-4_24-0" class="reference"><a href="#cite_note-AutoNT-4-24"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a>,<sup id="cite_ref-AutoNT-6_25-0" class="reference"><a href="#cite_note-AutoNT-6-25"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> <span class="nowrap"><br><a href="Modula-3" title="Modula-3">Modula-3</a></span>,<sup id="cite_ref-98-interview_17-1" class="reference"><a href="#cite_note-98-interview-17"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-classmix_20-1" class="reference"><a href="#cite_note-classmix-20"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> <a href="Perl" title="Perl">Perl</a>,<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> <a href="Standard_ML" title="Standard ML">Standard ML</a><sup id="cite_ref-python.org_18-2" class="reference"><a href="#cite_note-python.org-18"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Apache_Groovy" title="Apache Groovy">Apache Groovy</a>, <a href="Boo_(programming_language)" title="Boo (programming language)">Boo</a>, <a href="Cobra_(programming_language)" title="Cobra (programming language)">Cobra</a>, <a href="CoffeeScript" title="CoffeeScript">CoffeeScript</a>,<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> <a href="D_(programming_language)" title="D (programming language)">D</a>, <a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a>, <a href="GDScript" class="mw-redirect" title="GDScript">GDScript</a>, <a href="Go_(programming_language)" title="Go (programming language)">Go</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>,<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> <a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a>,<sup id="cite_ref-Julia_30-0" class="reference"><a href="#cite_note-Julia-30"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> <a href="Mojo_(programming_language)" title="Mojo (programming language)">Mojo</a>,<sup id="cite_ref-Mojo_31-0" class="reference"><a href="#cite_note-Mojo-31"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> <a href="Nim_(programming_language)" title="Nim (programming language)">Nim</a>, <a href="Ring_(programming_language)" title="Ring (programming language)">Ring</a>,<sup id="cite_ref-The_Ring_programming_language_and_other_languages_32-0" class="reference"><a href="#cite_note-The_Ring_programming_language_and_other_languages-32"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>,<sup id="cite_ref-bini_33-0" class="reference"><a href="#cite_note-bini-33"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> <a href="Swift_(programming_language)" title="Swift (programming language)">Swift</a>,<sup id="cite_ref-lattner2014_34-0" class="reference"><a href="#cite_note-lattner2014-34"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> <a href="V_(programming_language)" title="V (programming language)">V</a><sup id="cite_ref-vpeople_35-0" class="reference"><a href="#cite_note-vpeople-35"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup></td></tr><tr><td colspan="2" class="infobox-below hlist" style="border-top: 1px solid #aaa; padding-top: 3px;">
<ul><li><span class="noviewer" typeof="mw:File"></span> <a href="https://en.wikibooks.org/wiki/Python_Programming" class="extiw external" title="wikibooks:Python Programming">Python Programming</a> at Wikibooks</li></ul>
</td></tr></tbody></table>
<p><b>Python</b> is a <a href="High-level_programming_language" title="High-level programming language">high-level</a>, <a href="General-purpose_programming_language" title="General-purpose programming language">general-purpose programming language</a>. Its design philosophy emphasizes <a href="Code_readability" class="mw-redirect" title="Code readability">code readability</a> with the use of <a href="Significant_indentation" class="mw-redirect" title="Significant indentation">significant indentation</a>.<sup id="cite_ref-AutoNT-7_36-0" class="reference"><a href="#cite_note-AutoNT-7-36"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup>
</p><p>Python is <a href="Type_system#DYNAMIC" title="Type system">dynamically type-checked</a> and <a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">garbage-collected</a>. It supports multiple <a href="Programming_paradigm" title="Programming paradigm">programming paradigms</a>, including <a href="Structured_programming" title="Structured programming">structured</a> (particularly <a href="Procedural_programming" title="Procedural programming">procedural</a>), <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a> and <a href="Functional_programming" title="Functional programming">functional programming</a>.
</p><p><a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> began working on Python in the late 1980s as a successor to the <a href="ABC_(programming_language)" title="ABC (programming language)">ABC</a> programming language, and he first released it in 1991 as Python&nbsp;0.9.0.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> Python&nbsp;2.0 was released in 2000. Python&nbsp;3.0, released in 2008, was a major revision not completely <a href="Backward-compatible" class="mw-redirect" title="Backward-compatible">backward-compatible</a> with earlier versions. Python&nbsp;2.7.18, released in 2020, was the last release of Python&nbsp;2.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p><p>Python consistently ranks as one of the most popular programming languages, and it has gained widespread use in the <a href="Machine_learning" title="Machine learning">machine learning</a> community.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-tiobecurrent_41-0" class="reference"><a href="#cite_note-tiobecurrent-41"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> It is widely taught as an introductory programming language.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="History_of_Python" title="History of Python">History of Python</a></div>

<p>Python was conceived in the late 1980s<sup id="cite_ref-venners-interview-pt-1_44-0" class="reference"><a href="#cite_note-venners-interview-pt-1-44"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> by <a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> at <a href="Centrum_Wiskunde_%26_Informatica" title="Centrum Wiskunde &amp; Informatica">Centrum Wiskunde &amp; Informatica</a> (CWI) in the <a href="Netherlands" title="Netherlands">Netherlands</a>; it was conceived as a successor to the <a href="ABC_(programming_language)" title="ABC (programming language)">ABC</a> programming language, which was inspired by <a href="SETL" title="SETL">SETL</a>,<sup id="cite_ref-AutoNT-12_45-0" class="reference"><a href="#cite_note-AutoNT-12-45"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> capable of <a href="Exception_handling" title="Exception handling">exception handling</a> and interfacing with the <a href="Amoeba_(operating_system)" title="Amoeba (operating system)">Amoeba</a> operating system.<sup id="cite_ref-faq-created_15-1" class="reference"><a href="#cite_note-faq-created-15"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Python implementation began in December,&nbsp;1989.<sup id="cite_ref-timeline-of-python_46-0" class="reference"><a href="#cite_note-timeline-of-python-46"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> Van Rossum assumed sole responsibility for the project, as the lead developer, until 12 July 2018, when he announced his "permanent vacation" from responsibilities as Python's "<a href="Benevolent_dictator_for_life" title="Benevolent dictator for life">benevolent dictator for life</a>" (BDFL); this title was bestowed on him by the Python community to reflect his long-term commitment as the project's chief decision-maker.<sup id="cite_ref-lj-bdfl-resignation_47-0" class="reference"><a href="#cite_note-lj-bdfl-resignation-47"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> (He has since come out of retirement and is self-titled "BDFL-emeritus".) In January&nbsp;2019, active Python core developers elected a five-member Steering Council to lead the project.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup>
</p><p>The name <i>Python</i> derives from the British comedy series <a href="Monty_Python's_Flying_Circus" title="Monty Python's Flying Circus">Monty Python's Flying Circus</a>.<sup id="cite_ref-:0_50-0" class="reference"><a href="#cite_note-:0-50"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup> (See <a href="#Naming">§&nbsp;Naming</a>.)
</p><p>Python 2.0 was released on 16 October 2000, with many major new features such as <a href="List_comprehension" title="List comprehension">list comprehensions</a>, <a href="Cycle_detection" title="Cycle detection">cycle-detecting</a> garbage collection, <a href="Reference_counting" title="Reference counting">reference counting</a>, and <a href="Unicode" title="Unicode">Unicode</a> support.<sup id="cite_ref-newin-2.0_51-0" class="reference"><a href="#cite_note-newin-2.0-51"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> Python 2.7's <a href="End-of-life_product" class="mw-redirect" title="End-of-life product">end-of-life</a> was initially set for 2015, and then postponed to 2020 out of concern that a large body of existing code could not easily be forward-ported to Python&nbsp;3.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup> It no longer receives security patches or updates.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup> While Python 2.7 and older versions are officially unsupported, a different unofficial Python implementation, <a href="PyPy" title="PyPy">PyPy</a>, continues to support Python 2, i.e., "2.7.18+" (plus 3.10), with the plus signifying (at least some) "<a href="Backporting" title="Backporting">backported</a> security updates".<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup>
</p><p>Python&nbsp;3.0 was released on 3 December 2008, with some new semantics and changed syntax. Several releases in the Python 3.x series have added new syntax to the language, and made a few backwards-incompatible changes.
</p><p>As of 5&nbsp;August&nbsp;2025, Python 3.13 is the latest stable release and Python 3.9 is the oldest supported release.<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup> Releases receive two years of full support followed by three years of security support.
</p>
<div class="mw-heading mw-heading2"><h2 id="Design_philosophy_and_features">Design philosophy and features</h2></div>
<p>Python is a <a href="Multi-paradigm_programming_language" class="mw-redirect" title="Multi-paradigm programming language">multi-paradigm programming language</a>. Object-oriented programming and structured programming are fully supported, and many of their features support functional programming and <a href="Aspect-oriented_programming" title="Aspect-oriented programming">aspect-oriented programming</a> (including <a href="Metaprogramming" title="Metaprogramming">metaprogramming</a><sup id="cite_ref-AutoNT-13_58-0" class="reference"><a href="#cite_note-AutoNT-13-58"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup> and <a href="Metaobject" title="Metaobject">metaobjects</a>).<sup id="cite_ref-AutoNT-14_59-0" class="reference"><a href="#cite_note-AutoNT-14-59"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> Many other paradigms are supported via extensions, including <a href="Design_by_contract" title="Design by contract">design by contract</a><sup id="cite_ref-AutoNT-15_60-0" class="reference"><a href="#cite_note-AutoNT-15-60"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-16_61-0" class="reference"><a href="#cite_note-AutoNT-16-61"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> and <a href="Logic_programming" title="Logic programming">logic programming</a>.<sup id="cite_ref-AutoNT-17_62-0" class="reference"><a href="#cite_note-AutoNT-17-62"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup> Python is often referred to as a <i><a href="Glue_language" class="mw-redirect" title="Glue language">'glue language</a>'</i><sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup> because it can seamlessly integrate components written in other languages.
</p><p>Python uses dynamic typing and a combination of <a href="Reference_counting" title="Reference counting">reference counting</a> and a cycle-detecting garbage collector for <a href="Memory_management" title="Memory management">memory management</a>.<sup id="cite_ref-Reference_counting_64-0" class="reference"><a href="#cite_note-Reference_counting-64"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup> It uses dynamic <a href="Name_resolution_(programming_languages)" title="Name resolution (programming languages)">name resolution</a> (<a href="Late_binding" title="Late binding">late binding</a>), which binds method and variable names during program execution.
</p><p>Python's design offers some support for functional programming in the <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> tradition. It has <code>filter</code>,<code>map</code>and<code>reduce</code> functions; <a href="List_comprehension" title="List comprehension">list comprehensions</a>, <a href="Associative_array" title="Associative array">dictionaries</a>, sets, and <a href="Generator_(computer_programming)" title="Generator (computer programming)">generator</a> expressions.<sup id="cite_ref-AutoNT-59_65-0" class="reference"><a href="#cite_note-AutoNT-59-65"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> The standard library has two modules (<code>itertools</code> and <code>functools</code>) that implement functional tools borrowed from <a href="Haskell" title="Haskell">Haskell</a> and <a href="Standard_ML" title="Standard ML">Standard ML</a>.<sup id="cite_ref-AutoNT-18_66-0" class="reference"><a href="#cite_note-AutoNT-18-66"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup>
</p><p>Python's core philosophy is summarized in the <a href="Zen_of_Python" title="Zen of Python">Zen of Python</a> (PEP 20), which includes aphorisms such as these:<sup id="cite_ref-PEP20_67-0" class="reference"><a href="#cite_note-PEP20-67"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Beautiful is better than ugly.</li>
<li>Explicit is better than implicit.</li>
<li>Simple is better than complex.</li>
<li>Complex is better than complicated.</li>
<li>Readability counts.</li></ul>
<p>However, Python features regularly violate these principles and have received criticism for adding unnecessary language bloat.<sup id="cite_ref-Python-Changes-2014_68-0" class="reference"><a href="#cite_note-Python-Changes-2014-68"><span class="cite-bracket">[</span>66<span class="cite-bracket">]</span></a></sup> Responses to these criticisms note that the Zen of Python is a guideline rather than a rule.<sup id="cite_ref-Confusion-regarding-a-rule-in-the-Zen-of-Python_69-0" class="reference"><a href="#cite_note-Confusion-regarding-a-rule-in-the-Zen-of-Python-69"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup> The addition of some new features had been controversial: Guido van Rossum resigned as Benevolent Dictator for Life after conflict about adding the assignment expression operator in Python 3.8.<sup id="cite_ref-The-Most-Controversial-Python-Walrus-Operator_70-0" class="reference"><a href="#cite_note-The-Most-Controversial-Python-Walrus-Operator-70"><span class="cite-bracket">[</span>68<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-The-Controversy-Behind-The-Walrus-Operator-in-Python_71-0" class="reference"><a href="#cite_note-The-Controversy-Behind-The-Walrus-Operator-in-Python-71"><span class="cite-bracket">[</span>69<span class="cite-bracket">]</span></a></sup>
</p><p>Nevertheless, rather than building all functionality into its core, Python was designed to be highly <a href="Extensible" class="mw-redirect" title="Extensible">extensible</a> via modules. This compact modularity has made it particularly popular as a means of adding programmable interfaces to existing applications. Van Rossum's vision of a small core language with a large standard library and easily extensible interpreter stemmed from his frustrations with ABC, which represented the opposite approach.<sup id="cite_ref-venners-interview-pt-1_44-1" class="reference"><a href="#cite_note-venners-interview-pt-1-44"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup>
</p><p>Python claims to strive for a simpler, less-cluttered syntax and grammar, while giving developers a choice in their coding methodology. In contrast to <a href="Perl" title="Perl">Perl</a>'s motto "<a href="There_is_more_than_one_way_to_do_it" class="mw-redirect" title="There is more than one way to do it">there is more than one way to do it</a>", Python advocates an approach where "there should be one—and preferably only one—obvious way to do it.".<sup id="cite_ref-PEP20_67-1" class="reference"><a href="#cite_note-PEP20-67"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup> In practice, however, Python provides many ways to achieve a given goal. There are, for example, at least three ways to format a string literal, with no certainty as to which one a programmer should use.<sup id="cite_ref-Python-String-Formatting-Best-Practices_72-0" class="reference"><a href="#cite_note-Python-String-Formatting-Best-Practices-72"><span class="cite-bracket">[</span>70<span class="cite-bracket">]</span></a></sup> <a href="Alex_Martelli" title="Alex Martelli">Alex Martelli</a> is a <a href="Fellow" title="Fellow">Fellow</a> at the <a href="Python_Software_Foundation" title="Python Software Foundation">Python Software Foundation</a> and Python book author; he wrote that "To describe something as 'clever' is <i>not</i> considered a compliment in the Python culture."<sup id="cite_ref-AutoNT-19_73-0" class="reference"><a href="#cite_note-AutoNT-19-73"><span class="cite-bracket">[</span>71<span class="cite-bracket">]</span></a></sup>
</p><p>Python's developers usually try to avoid <a href="Premature_optimization" class="mw-redirect" title="Premature optimization">premature optimization</a>; they also reject patches to non-critical parts of the <a href="CPython" title="CPython">CPython</a> reference implementation that would offer marginal increases in speed at the cost of clarity.<sup id="cite_ref-AutoNT-20_74-0" class="reference"><a href="#cite_note-AutoNT-20-74"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup> Execution speed can be improved by moving speed-critical functions to extension modules written in languages such as C, or by using a <a href="Just-in-time_compiler" class="mw-redirect" title="Just-in-time compiler">just-in-time compiler</a> like <a href="PyPy" title="PyPy">PyPy</a>. It is also possible to <a href="#Cross-compilers_to_other_languages">cross-compile to other languages</a>; but this approach either fails to achieve the expected speed-up, since Python is a very <a href="Dynamic_language" class="mw-redirect" title="Dynamic language">dynamic language</a>, or only a restricted subset of Python is compiled (with potential minor semantic changes).<sup id="cite_ref-PyJL_75-0" class="reference"><a href="#cite_note-PyJL-75"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup>
</p><p>Python's developers aim for the language to be fun to use. This goal is reflected in the name—a tribute to the British comedy group <a href="Monty_Python" title="Monty Python">Monty Python</a><sup id="cite_ref-whyname_76-0" class="reference"><a href="#cite_note-whyname-76"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup>—and in playful approaches to some tutorials and reference materials. For instance, some code examples use the terms "spam" and "eggs" (in reference to <a href="Spam_(Monty_Python)" class="mw-redirect" title="Spam (Monty Python)">a Monty Python sketch</a>), rather than the typical terms <a href="Foobar" title="Foobar">"foo" and "bar"</a>.<sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">[</span>75<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">[</span>76<span class="cite-bracket">]</span></a></sup> A common <a href="Neologism" title="Neologism">neologism</a> in the Python community is <i>pythonic</i>, which has a wide range of meanings related to program style. Pythonic code may use Python <a href="Programming_idiom" title="Programming idiom">idioms</a> well; be natural or show fluency in the language; or conform with Python's minimalist philosophy and emphasis on readability.<sup id="cite_ref-79" class="reference"><a href="#cite_note-79"><span class="cite-bracket">[</span>77<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Syntax_and_semantics">Syntax and semantics</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Python_syntax_and_semantics" title="Python syntax and semantics">Python syntax and semantics</a></div>


<p>Python is meant to be an easily readable language. Its formatting is visually uncluttered and often uses English keywords where other languages use punctuation. Unlike many other languages, it does not use <a href="Curly_bracket_programming_language" class="mw-redirect" title="Curly bracket programming language">curly brackets</a> to delimit blocks, and semicolons after statements are allowed but rarely used. It has fewer syntactic exceptions and special cases than <a href="C_(programming_language)" title="C (programming language)">C</a> or <a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a>.<sup id="cite_ref-AutoNT-52_80-0" class="reference"><a href="#cite_note-AutoNT-52-80"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Indentation">Indentation</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Python_syntax_and_semantics#Indentation" title="Python syntax and semantics">Python syntax and semantics §&nbsp;Indentation</a></div>
<p>Python uses <a href="Whitespace_character" title="Whitespace character">whitespace</a> indentation, rather than curly brackets or keywords, to delimit <a href="Block_(programming)" title="Block (programming)">blocks</a>. An increase in indentation comes after certain statements; a decrease in indentation signifies the end of the current block.<sup id="cite_ref-AutoNT-53_81-0" class="reference"><a href="#cite_note-AutoNT-53-81"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup> Thus, the program's visual structure accurately represents its semantic structure.<sup id="cite_ref-guttag_82-0" class="reference"><a href="#cite_note-guttag-82"><span class="cite-bracket">[</span>80<span class="cite-bracket">]</span></a></sup> This feature is sometimes termed the <a href="Off-side_rule" title="Off-side rule">off-side rule</a>. Some other languages use indentation this way; but in most, indentation has no semantic meaning. The recommended indent size is four spaces.<sup id="cite_ref-83" class="reference"><a href="#cite_note-83"><span class="cite-bracket">[</span>81<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Statements_and_control_flow">Statements and control flow</h3></div>
<p>Python's <a href="Statement_(computer_science)" title="Statement (computer science)">statements</a> include the following:
</p>
<ul><li>The <a href="Assignment_(computer_science)" title="Assignment (computer science)">assignment</a> statement, using a single equals sign <code>=</code></li>
<li>The <code><a href="If-then-else" class="mw-redirect" title="If-then-else">if</a></code> statement, which conditionally executes a block of code, along with <code><a href="Conditional_(computer_programming)#If–then(–else)" title="Conditional (computer programming)">else</a></code> and <code>elif</code> (a contraction of <code><a href="Conditional_(computer_programming)#Else_if" title="Conditional (computer programming)">else if</a></code>)</li>
<li>The <code><a href="Foreach" class="mw-redirect" title="Foreach">for</a></code> statement, which iterates over an <i>iterable</i> object, capturing each element to a local variable for use by the attached block</li>
<li>The <code><a href="While_loop#Python" title="While loop">while</a></code> statement, which executes a block of code as long as boolean condition is true</li>
<li>The <code><a href="Exception_handling_syntax#Python" title="Exception handling syntax">try</a></code> statement, which allows exceptions raised in its attached code block to be caught and handled by <code>except</code> clauses (or new syntax <code>except*</code> in Python 3.11 for exception groups<sup id="cite_ref-84" class="reference"><a href="#cite_note-84"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup>); the <code>try</code> statement also ensures that clean-up code in a <code>finally</code> block is always run regardless of how the block exits</li>
<li>The <code>raise</code> statement, used to raise a specified exception or re-raise a caught exception</li>
<li>The <code>class</code> statement, which executes a block of code and attaches its local namespace to a <a href="Class_(computer_science)" class="mw-redirect" title="Class (computer science)">class</a>, for use in object-oriented programming</li>
<li>The <code>def</code> statement, which defines a <a href="Function_(computing)" class="mw-redirect" title="Function (computing)">function</a> or <a href="Method_(computing)" class="mw-redirect" title="Method (computing)">method</a></li>
<li>The <code><a href="Dispose_pattern#Language_constructs" title="Dispose pattern">with</a></code> statement, which encloses a code block within a context manager, allowing <a href="Resource_acquisition_is_initialization" title="Resource acquisition is initialization">resource-acquisition-is-initialization</a> (RAII)-like behavior and replacing a common try/finally idiom<sup id="cite_ref-85" class="reference"><a href="#cite_note-85"><span class="cite-bracket">[</span>83<span class="cite-bracket">]</span></a></sup> Examples of a context include acquiring a <a href="Lock_(computer_science)" title="Lock (computer science)">lock</a> before some code is run, and then releasing the lock; or opening and then closing a <a href="Computer_file" title="Computer file">file</a></li>
<li>The <code><a href="Break_statement" class="mw-redirect" title="Break statement">break</a></code> statement, which exits a loop</li>
<li>The <code>continue</code> statement, which skips the rest of the current iteration and continues with the next</li>
<li>The <code>del</code> statement, which removes a variable—deleting the reference from the name to the value, and producing an error if the variable is referred to before it is redefined <sup id="cite_ref-86" class="reference"><a href="#cite_note-86"><span class="cite-bracket">[</span>c<span class="cite-bracket">]</span></a></sup></li>
<li>The <code>pass</code> statement, serving as a <a href="NOP_(code)" title="NOP (code)">NOP</a> (i.e., no operation), which is syntactically needed to create an empty code block</li>
<li>The <code><a href="Assertion_(programming)" class="mw-redirect" title="Assertion (programming)">assert</a></code> statement, used in debugging to check for conditions that should apply</li>
<li>The <code>yield</code> statement, which returns a value from a <a href="Generator_(computer_programming)#Python" title="Generator (computer programming)">generator</a> function (and also an operator); used to implement <a href="Coroutine" title="Coroutine">coroutines</a></li>
<li>The <code>return</code> statement, used to return a value from a function</li>
<li>The <code><a href="Include_directive" title="Include directive">import</a></code> and <code>from</code> statements, used to import modules whose functions or variables can be used in the current program</li>
<li>The <code>match</code> and <code>case</code> statements, analogous to a <a href="Switch_statement" title="Switch statement">switch statement</a> construct, which compares an expression against one or more cases as a control-flow measure</li></ul>
<p>The assignment statement (<code>=</code>) binds a name as a <a href="Pointer_(computer_programming)" title="Pointer (computer programming)">reference</a> to a separate, dynamically allocated <a href="Object_(computer_science)" title="Object (computer science)">object</a>. Variables may subsequently be rebound at any time to any object. In Python, a variable name is a generic reference holder without a fixed <a href="Type_system" title="Type system">data type</a>; however, it always refers to <i>some</i> object with a type. This is called <a href="Type_system#Dynamic_type_checking_and_runtime_type_information" title="Type system">dynamic typing</a>—in contrast to <a href="Statically-typed" class="mw-redirect" title="Statically-typed">statically-typed</a> languages, where each variable may contain only a value of a certain type.
</p><p>Python does not support <a href="Tail_call" title="Tail call">tail call</a> optimization or <a href="First-class_continuations" class="mw-redirect" title="First-class continuations">first-class continuations</a>; according to Van Rossum, the language never will.<sup id="cite_ref-AutoNT-55_87-0" class="reference"><a href="#cite_note-AutoNT-55-87"><span class="cite-bracket">[</span>84<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-56_88-0" class="reference"><a href="#cite_note-AutoNT-56-88"><span class="cite-bracket">[</span>85<span class="cite-bracket">]</span></a></sup> However, better support for <a href="Coroutine" title="Coroutine">coroutine</a>-like functionality is provided by extending Python's generators.<sup id="cite_ref-AutoNT-57_89-0" class="reference"><a href="#cite_note-AutoNT-57-89"><span class="cite-bracket">[</span>86<span class="cite-bracket">]</span></a></sup> Before 2.5, generators were <a href="Lazy_evaluation" title="Lazy evaluation">lazy</a> <a href="Iterator" title="Iterator">iterators</a>; data was passed unidirectionally out of the generator. From Python&nbsp;2.5 on, it is possible to pass data back into a generator function; and from version 3.3, data can be passed through multiple stack levels.<sup id="cite_ref-AutoNT-58_90-0" class="reference"><a href="#cite_note-AutoNT-58-90"><span class="cite-bracket">[</span>87<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Expressions">Expressions</h3></div>
<p>Python's <a href="Expression_(computer_science)" title="Expression (computer science)">expressions</a> include the following:
</p>
<ul><li>The <code>+</code>, <code>-</code>, and <code>*</code> operators for mathematical addition, subtraction, and multiplication are similar to other languages, but the behavior of division differs. There are two types of division in Python: <a href="Floor_division" class="mw-redirect" title="Floor division">floor division</a> (or integer division) <code>//</code>, and floating-point division <code>/</code>.<sup id="cite_ref-91" class="reference"><a href="#cite_note-91"><span class="cite-bracket">[</span>88<span class="cite-bracket">]</span></a></sup> Python uses the <code>**</code> operator for exponentiation.</li>
<li>Python uses the <code>+</code> operator for string concatenation. The language uses the <code>*</code> operator for duplicating a string a specified number of times.</li>
<li>The <code>@</code> infix operator is intended to be used by libraries such as <a href="NumPy" title="NumPy">NumPy</a> for <a href="Matrix_multiplication" title="Matrix multiplication">matrix multiplication</a>.<sup id="cite_ref-PEP465_92-0" class="reference"><a href="#cite_note-PEP465-92"><span class="cite-bracket">[</span>89<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Python3.5Changelog_93-0" class="reference"><a href="#cite_note-Python3.5Changelog-93"><span class="cite-bracket">[</span>90<span class="cite-bracket">]</span></a></sup></li>
<li>The syntax <code>:=</code>, called the "walrus operator", was introduced in Python 3.8. This operator assigns values to variables as part of a larger expression.<sup id="cite_ref-Python3.8Changelog_94-0" class="reference"><a href="#cite_note-Python3.8Changelog-94"><span class="cite-bracket">[</span>91<span class="cite-bracket">]</span></a></sup></li>
<li>In Python, <code>==</code> compares two objects by value. Python's <code>is</code> operator may be used to compare object identities (i.e., comparison by reference), and comparisons may be chained—for example, <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">a</span> <span class="o">&lt;=</span> <span class="n">b</span> <span class="o">&lt;=</span> <span class="n">c</span></code>.</li>
<li>Python uses <code>and</code>, <code>or</code>, and <code>not</code> as Boolean operators.</li>
<li>Python has a type of expression called a <i><a href="List_comprehension#Python" title="List comprehension">list comprehension</a></i>, and a more general expression called a <i>generator expression</i>.<sup id="cite_ref-AutoNT-59_65-1" class="reference"><a href="#cite_note-AutoNT-59-65"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Anonymous_function" title="Anonymous function">Anonymous functions</a> are implemented using <a href="Lambda_(programming)" class="mw-redirect" title="Lambda (programming)">lambda expressions</a>; however, there may be only one expression in each body.</li>
<li>Conditional expressions are written as <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">x</span> <span class="k">if</span> <span class="n">c</span> <span class="k">else</span> <span class="n">y</span></code>.<sup id="cite_ref-AutoNT-60_95-0" class="reference"><a href="#cite_note-AutoNT-60-95"><span class="cite-bracket">[</span>92<span class="cite-bracket">]</span></a></sup> (This is different in operand order from the <code><a href="%3F%3A" class="mw-redirect" title="?:">c&nbsp;? x&nbsp;: y</a></code> operator common to many other languages.)</li>
<li>Python makes a distinction between <a href="List_(computer_science)" class="mw-redirect" title="List (computer science)">lists</a> and <a href="Tuple" title="Tuple">tuples</a>. Lists are written as <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span></code>, are mutable, and cannot be used as the keys of dictionaries (since dictionary keys must be <a href="Immutable" class="mw-redirect" title="Immutable">immutable</a> in Python). Tuples, written as <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span></code>, are immutable and thus can be used as the keys of dictionaries, provided that all of the tuple's elements are immutable. The <code>+</code> operator can be used to concatenate two tuples, which does not directly modify their contents, but produces a new tuple containing the elements of both. For example, given the variable <code>t</code> initially equal to <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span></code>, executing <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">t</span> <span class="o">=</span> <span class="n">t</span> <span class="o">+</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span></code> first evaluates <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">t</span> <span class="o">+</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span></code>, which yields <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span></code>; this result is then assigned back to <code>t</code>—thereby effectively "modifying the contents" of <code>t</code> while conforming to the immutable nature of tuple objects. Parentheses are optional for tuples in unambiguous contexts.<sup id="cite_ref-96" class="reference"><a href="#cite_note-96"><span class="cite-bracket">[</span>93<span class="cite-bracket">]</span></a></sup></li>
<li>Python features <i>sequence unpacking</i> where multiple expressions, each evaluating to something assignable (e.g., a variable or a writable property) are associated just as in forming tuple literal; as a whole, the results are then put on the left-hand side of the equal sign in an assignment statement. This statement expects an <i>iterable</i> object on the right-hand side of the equal sign to produce the same number of values as the writable expressions on the left-hand side; while iterating, the statement assigns each of the values produced on the right to the corresponding expression on the left.<sup id="cite_ref-97" class="reference"><a href="#cite_note-97"><span class="cite-bracket">[</span>94<span class="cite-bracket">]</span></a></sup></li>
<li>Python has a "string format" operator <code>%</code> that functions analogously to <code><a href="Printf" title="Printf">printf</a></code> format strings in the C language—e.g. <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s2">"spam=</span><span class="si">%s</span><span class="s2"> eggs=</span><span class="si">%d</span><span class="s2">"</span> <span class="o">%</span> <span class="p">(</span><span class="s2">"blah"</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span></code> evaluates to <code>"spam=blah eggs=2"</code>. In Python&nbsp;2.6+ and 3+, this operator was supplemented by the <code>format()</code> method of the <code>str</code> class, e.g., <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s2">"spam=</span><span class="si">{0}</span><span class="s2"> eggs=</span><span class="si">{1}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s2">"blah"</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span></code>. Python&nbsp;3.6 added "f-strings": <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">spam</span> <span class="o">=</span> <span class="s2">"blah"</span><span class="p">;</span> <span class="n">eggs</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="sa">f</span><span class="s1">'spam=</span><span class="si">{</span><span class="n">spam</span><span class="si">}</span><span class="s1"> eggs=</span><span class="si">{</span><span class="n">eggs</span><span class="si">}</span><span class="s1">'</span></code>.<sup id="cite_ref-pep-0498_98-0" class="reference"><a href="#cite_note-pep-0498-98"><span class="cite-bracket">[</span>95<span class="cite-bracket">]</span></a></sup></li>
<li>Strings in Python can be <a href="Concatenated" class="mw-redirect" title="Concatenated">concatenated</a> by "adding" them (using the same operator as for adding integers and floats); e.g., <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s2">"spam"</span> <span class="o">+</span> <span class="s2">"eggs"</span></code> returns <code>"spameggs"</code>. If strings contain numbers, they are concatenated as strings rather than as integers, e.g. <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s2">"2"</span> <span class="o">+</span> <span class="s2">"2"</span></code> returns <code>"22"</code>.</li>
<li>Python supports <a href="String_literal" title="String literal">string literals</a> in several ways:
<ul><li>Delimited by single or double quotation marks; single and double quotation marks have equivalent functionality (unlike in <a href="Unix_shell" title="Unix shell">Unix shells</a>, <a href="Perl" title="Perl">Perl</a>, and Perl-influenced languages). Both marks use the backslash (<code>\</code>) as an <a href="Escape_character" title="Escape character">escape character</a>. <a href="String_interpolation" title="String interpolation">String interpolation</a> became available in Python&nbsp;3.6 as "formatted string literals".<sup id="cite_ref-pep-0498_98-1" class="reference"><a href="#cite_note-pep-0498-98"><span class="cite-bracket">[</span>95<span class="cite-bracket">]</span></a></sup></li>
<li>Triple-quoted, i.e., starting and ending with three single or double quotation marks; this may span multiple lines and function like <a href="Here_document" title="Here document">here documents</a> in shells, Perl, and <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>.</li>
<li><a href="Raw_string" class="mw-redirect" title="Raw string">Raw string</a> varieties, denoted by prefixing the string literal with <code>r</code>. Escape sequences are not interpreted; hence raw strings are useful where literal backslashes are common, such as in <a href="Regular_expression" title="Regular expression">regular expressions</a> and <a href="Windows" class="mw-redirect" title="Windows">Windows</a>-style paths. (Compare "<code>@</code>-quoting" in <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>.)</li></ul></li>
<li>Python has <a href="Array_index" class="mw-redirect" title="Array index">array index</a> and <a href="Array_slicing" title="Array slicing">array slicing</a> expressions in lists, which are written as <code>a[key]</code>, <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">a</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">stop</span><span class="p">]</span></code> or <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">a</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">stop</span><span class="p">:</span><span class="n">step</span><span class="p">]</span></code>. Indexes are <a href="Zero-based_numbering" title="Zero-based numbering">zero-based</a>, and negative indexes are relative to the end. Slices take elements from the <i>start</i> index up to, but not including, the <i>stop</i> index. The (optional) third slice <a href="Parameter_(computer_programming)" title="Parameter (computer programming)">parameter</a>, called <i>step</i> or <i>stride</i>, allows elements to be skipped or reversed. Slice indexes may be omitted—for example, <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">a</span><span class="p">[:]</span></code> returns a copy of the entire list. Each element of a slice is a <a href="Shallow_copy" class="mw-redirect" title="Shallow copy">shallow copy</a>.</li></ul>
<p>In Python, a distinction between expressions and statements is rigidly enforced, in contrast to languages such as <a href="Common_Lisp" title="Common Lisp">Common Lisp</a>, <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>, or <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>. This distinction leads to duplicating some functionality, for example:
</p>
<ul><li><a href="List_comprehensions" class="mw-redirect" title="List comprehensions">List comprehensions</a> vs. <code>for</code>-loops</li>
<li><a href="Conditional_(programming)" class="mw-redirect" title="Conditional (programming)">Conditional</a> expressions vs. <code>if</code> blocks</li>
<li>The <code>eval()</code> vs. <code>exec()</code> built-in functions (in Python&nbsp;2, <code>exec</code> is a statement); the former function is for expressions, while the latter is for statements</li></ul>
<p>A statement cannot be part of an expression; because of this restriction, expressions such as list and <code>dict</code> comprehensions (and lambda expressions) cannot contain statements. As a particular case, an assignment statement such as <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">a</span> <span class="o">=</span> <span class="mi">1</span></code> cannot be part of the conditional expression of a conditional statement.
</p>
<div class="mw-heading mw-heading3"><h3 id="Methods">Methods</h3></div>
<p><a href="Method_(computer_programming)" title="Method (computer programming)">Methods</a> of objects are functions attached to the object's class; the syntax for normal methods and functions, <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">instance</span><span class="o">.</span><span class="n">method</span><span class="p">(</span><span class="n">argument</span><span class="p">)</span></code>, is <a href="Syntactic_sugar" title="Syntactic sugar">syntactic sugar</a> for <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">Class</span><span class="o">.</span><span class="n">method</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">argument</span><span class="p">)</span></code>. Python methods have an explicit <code><a href="This_(computer_programming)" title="This (computer programming)">self</a></code> parameter to access <a href="Instance_data" class="mw-redirect" title="Instance data">instance data</a>, in contrast to the implicit self (or <code>this</code>) parameter in some object-oriented programming languages (e.g., <a href="C%2B%2B" title="C++">C++</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="Objective-C" title="Objective-C">Objective-C</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>).<sup id="cite_ref-AutoNT-61_99-0" class="reference"><a href="#cite_note-AutoNT-61-99"><span class="cite-bracket">[</span>96<span class="cite-bracket">]</span></a></sup> Python also provides methods, often called <i>dunder methods</i> (because their names begin and end with double underscores); these methods allow user-defined classes to modify how they are handled by native operations including length, comparison, <a href="Arithmetic_operations" class="mw-redirect" title="Arithmetic operations">arithmetic</a>, and type conversion.<sup id="cite_ref-100" class="reference"><a href="#cite_note-100"><span class="cite-bracket">[</span>97<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Typing">Typing</h3></div>

<p>Python uses <a href="Duck_typing" title="Duck typing">duck typing</a>, and it has typed objects but untyped variable names. Type constraints are not checked at definition time; rather, operations on an object may fail at usage time, indicating that the object is not of an appropriate type. Despite being <a href="Dynamically_typed" class="mw-redirect" title="Dynamically typed">dynamically typed</a>, Python is <a href="Strongly_typed" class="mw-redirect" title="Strongly typed">strongly typed</a>, forbidding operations that are poorly defined (e.g., adding a number and a string) rather than quietly attempting to interpret them.
</p><p>Python allows programmers to define their own types using <a href="Class_(computer_science)" class="mw-redirect" title="Class (computer science)">classes</a>, most often for <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a>. New <a href="Object_(computer_science)" title="Object (computer science)">instances</a> of classes are constructed by calling the class, for example, <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">SpamClass</span><span class="p">()</span></code> or <code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">EggsClass</span><span class="p">()</span></code>); the classes are instances of the <a href="Metaclass" title="Metaclass">metaclass</a> <code>type</code> (which is an instance of itself), thereby allowing metaprogramming and <a href="Reflective_programming" title="Reflective programming">reflection</a>.
</p><p>Before version 3.0, Python had two kinds of classes, both using the same syntax: <i>old-style</i> and <i>new-style</i>.<sup id="cite_ref-classy_101-0" class="reference"><a href="#cite_note-classy-101"><span class="cite-bracket">[</span>98<span class="cite-bracket">]</span></a></sup> Current Python versions support the semantics of only the new style.
</p><p>Python supports <a href="Optional_typing" class="mw-redirect" title="Optional typing">optional type annotations</a>.<sup id="cite_ref-type_hint-PEP_5-1" class="reference"><a href="#cite_note-type_hint-PEP-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-102" class="reference"><a href="#cite_note-102"><span class="cite-bracket">[</span>99<span class="cite-bracket">]</span></a></sup> These annotations are not enforced by the language, but may be used by external tools such as <b>mypy</b> to catch errors.<sup id="cite_ref-103" class="reference"><a href="#cite_note-103"><span class="cite-bracket">[</span>100<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-104" class="reference"><a href="#cite_note-104"><span class="cite-bracket">[</span>101<span class="cite-bracket">]</span></a></sup> Mypy also supports a Python compiler called mypyc, which leverages type annotations for optimization.<sup id="cite_ref-105" class="reference"><a href="#cite_note-105"><span class="cite-bracket">[</span>102<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">
<caption>Summary of Python 3's built-in types
</caption>
<tbody><tr>
<th>Type
</th>
<th><a href="Immutable_object" title="Immutable object">Mutability</a>
</th>
<th>Description
</th>
<th>Syntax examples
</th></tr>
<tr>
<td><code>bool</code>
</td>
<td>immutable
</td>
<td><a href="Boolean_value" class="mw-redirect" title="Boolean value">Boolean value</a>
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="kc">True</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="kc">False</span></code>
</td></tr>
<tr>
<td><code>bytearray</code>
</td>
<td>mutable
</td>
<td>Sequence of <a href="Byte" title="Byte">bytes</a>
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">bytearray</span><span class="p">(</span><span class="sa">b</span><span class="s1">'Some ASCII'</span><span class="p">)</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">bytearray</span><span class="p">(</span><span class="sa">b</span><span class="s2">"Some ASCII"</span><span class="p">)</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">bytearray</span><span class="p">([</span><span class="mi">119</span><span class="p">,</span> <span class="mi">105</span><span class="p">,</span> <span class="mi">107</span><span class="p">,</span> <span class="mi">105</span><span class="p">])</span></code>
</td></tr>
<tr>
<td><code>bytes</code>
</td>
<td>immutable
</td>
<td>Sequence of bytes
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="sa">b</span><span class="s1">'Some ASCII'</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="sa">b</span><span class="s2">"Some ASCII"</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">bytes</span><span class="p">([</span><span class="mi">119</span><span class="p">,</span> <span class="mi">105</span><span class="p">,</span> <span class="mi">107</span><span class="p">,</span> <span class="mi">105</span><span class="p">])</span></code>
</td></tr>
<tr>
<td><code>complex</code>
</td>
<td>immutable
</td>
<td><a href="Complex_number" title="Complex number">Complex number</a> with real and imaginary parts
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="mi">3</span><span class="o">+</span><span class="mf">2.7</span><span class="n">j</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="mi">3</span> <span class="o">+</span> <span class="mf">2.7</span><span class="n">j</span></code>
</td></tr>
<tr>
<td><code>dict</code>
</td>
<td>mutable
</td>
<td><a href="Associative_array" title="Associative array">Associative array</a> (or dictionary) of key and value pairs; can contain mixed types (keys and values); keys must be a hashable type
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">{</span><span class="s1">'key1'</span><span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span> <span class="mi">3</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">{}</span></code>
</td></tr>
<tr>
<td><code>types.EllipsisType</code>
</td>
<td>immutable
</td>
<td>An <a href="Ellipsis_(programming_operator)" class="mw-redirect" title="Ellipsis (programming operator)">ellipsis</a> placeholder to be used as an index in <a href="NumPy" title="NumPy">NumPy</a> arrays
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="o">...</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="bp">Ellipsis</span></code>
</td></tr>
<tr>
<td><code>float</code>
</td>
<td>immutable
</td>
<td><a href="Double-precision" class="mw-redirect" title="Double-precision">Double-precision</a> <a href="Floating-point_number" class="mw-redirect" title="Floating-point number">floating-point number</a>. The precision is machine-dependent, but in practice it is generally implemented as a 64-bit <a href="IEEE_754" title="IEEE 754">IEEE&nbsp;754</a> number with 53&nbsp;bits of precision.<sup id="cite_ref-106" class="reference"><a href="#cite_note-106"><span class="cite-bracket">[</span>103<span class="cite-bracket">]</span></a></sup>
</td>
<td>
<p><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="mf">1.33333</span></code>
</p>
</td></tr>
<tr>
<td><code>frozenset</code>
</td>
<td>immutable
</td>
<td>Unordered <a href="Set_(computer_science)" class="mw-redirect" title="Set (computer science)">set</a>, contains no duplicates; can contain mixed types, if hashable
</td>
<td><span class="nowrap"><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">frozenset</span><span class="p">([</span><span class="mf">4.0</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">,</span> <span class="kc">True</span><span class="p">])</span></code></span>
</td></tr>
<tr>
<td><code>int</code>
</td>
<td>immutable
</td>
<td><a href="Integer_(computer_science)" title="Integer (computer science)">Integer</a> of unlimited magnitude<sup id="cite_ref-pep0237_107-0" class="reference"><a href="#cite_note-pep0237-107"><span class="cite-bracket">[</span>104<span class="cite-bracket">]</span></a></sup>
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="mi">42</span></code>
</td></tr>
<tr>
<td><code>list</code>
</td>
<td>mutable
</td>
<td><a href="List_(computer_science)" class="mw-redirect" title="List (computer science)">List</a>, can contain mixed types
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="mf">4.0</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">,</span> <span class="kc">True</span><span class="p">]</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">[]</span></code>
</td></tr>
<tr>
<td><code>types.NoneType</code>
</td>
<td>immutable
</td>
<td>An object representing the absence of a value, often called <a href="Null_pointer" title="Null pointer">null</a> in other languages
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="kc">None</span></code>
</td></tr>
<tr>
<td><code>types.NotImplementedType</code>
</td>
<td>immutable
</td>
<td>A placeholder that can be returned from <a href="Operator_overloading" title="Operator overloading">overloaded operators</a> to indicate unsupported operand types.
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="bp">NotImplemented</span></code>
</td></tr>
<tr>
<td><code>range</code>
</td>
<td>immutable
</td>
<td>An <i>immutable sequence</i> of numbers, commonly used for iterating a specific number of times in <code>for</code> loops<sup id="cite_ref-108" class="reference"><a href="#cite_note-108"><span class="cite-bracket">[</span>105<span class="cite-bracket">]</span></a></sup>
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">range</span><span class="p">(</span><span class="err">−</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="err">−</span><span class="mi">5</span><span class="p">,</span> <span class="err">−</span><span class="mi">2</span><span class="p">)</span></code>
</td></tr>
<tr>
<td><code>set</code>
</td>
<td>mutable
</td>
<td>Unordered <a href="Set_(computer_science)" class="mw-redirect" title="Set (computer science)">set</a>, contains no duplicates; can contain mixed types, if hashable
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">{</span><span class="mf">4.0</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">,</span> <span class="kc">True</span><span class="p">}</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="nb">set</span><span class="p">()</span></code>
</td></tr>
<tr>
<td><code>str</code>
</td>
<td>immutable
</td>
<td>A <a href="Character_string" class="mw-redirect" title="Character string">character string</a>: sequence of Unicode codepoints
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s1">'Wikipedia'</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="s2">"Wikipedia"</span></code><div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="sd">"""Spanning</span>
<span class="sd">multiple</span>
<span class="sd">lines"""</span>
</pre></div>
</td></tr>
<tr>
<td><code>tuple</code>
</td>
<td>immutable
</td>
<td><a href="Tuple" title="Tuple">Tuple</a>, can contain mixed types
</td>
<td><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="mf">4.0</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="s1">'single element'</span><span class="p">,)</span></code><br><code class="mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">()</span></code>
</td></tr></tbody></table>
<div class="mw-heading mw-heading3"><h3 id="Arithmetic_operations">Arithmetic operations</h3></div>
<p>Python includes conventional symbols for arithmetic operators (<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>), the floor-division operator <code>//</code>, and the <a href="Modulo_operation" class="mw-redirect" title="Modulo operation">modulo operator</a> <code>%</code>. (With the modulo operator, a remainder can be negative, e.g., <code>4&nbsp;% -3 == -2</code>.) Python also offers the <code>**</code> symbol for <a href="Exponentiation" title="Exponentiation">exponentiation</a>, e.g. <code>5**3 == 125</code> and <code>9**0.5 == 3.0</code>; it also offers the matrix‑multiplication operator <code>@</code> .<sup id="cite_ref-109" class="reference"><a href="#cite_note-109"><span class="cite-bracket">[</span>106<span class="cite-bracket">]</span></a></sup> These operators work as in traditional mathematics; with the same <a href="Order_of_operations" title="Order of operations">precedence rules</a>, the <a href="Infix_notation" title="Infix notation">infix</a> operators <code>+</code> and <code>-</code> can also be <a href="Unary_operation" title="Unary operation">unary</a>, to represent positive and negative numbers respectively.
</p><p>Division between integers produces floating-point results. The behavior of division has changed significantly over time:<sup id="cite_ref-pep0238_110-0" class="reference"><a href="#cite_note-pep0238-110"><span class="cite-bracket">[</span>107<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>The current version of Python (i.e., since 3.0) changed <code>the /</code> operator to always represent floating-point division, e.g., <code class="nowrap mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="mi">5</span><span class="o">/</span><span class="mi">2</span> <span class="o">==</span> <span class="mf">2.5</span></code>.</li>
<li>The floor division <code>//</code> operator was introduced. Thus <code>7//3 == 2</code>, <code>-7//3 == -3</code>, <code>7.5//3 == 2.0</code>, and <code>-7.5//3 == -3.0</code>. For outdated Python 2.7 adding the <code class="nowrap mw-highlight mw-highlight-lang-python2 mw-content-ltr" style="" dir="ltr"><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">division</span></code> statement causes a module in Python 2.7 to use Python&nbsp;3.0 rules for division instead (see above).</li></ul>
<p>In Python terms, the <code>/</code> operator represents <i>true division</i> (or simply <i>division</i>), while the <code>//</code> operator represents <i>floor division.</i> Before version 3.0, the <code>/</code> operator represents <i>classic division</i>.<sup id="cite_ref-pep0238_110-1" class="reference"><a href="#cite_note-pep0238-110"><span class="cite-bracket">[</span>107<span class="cite-bracket">]</span></a></sup>
</p><p><a href="Rounding" title="Rounding">Rounding</a> towards negative infinity, though a different method than in most languages, adds consistency to Python. For instance, this rounding implies that the equation <code class="nowrap mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span><span class="o">//</span><span class="n">b</span> <span class="o">==</span> <span class="n">a</span><span class="o">//</span><span class="n">b</span> <span class="o">+</span> <span class="mi">1</span></code> is always true. The rounding also implies that the equation <code class="nowrap mw-highlight mw-highlight-lang-python mw-content-ltr" style="" dir="ltr"><span class="n">b</span><span class="o">*</span><span class="p">(</span><span class="n">a</span><span class="o">//</span><span class="n">b</span><span class="p">)</span> <span class="o">+</span> <span class="n">a</span><span class="o">%</span><span class="n">b</span> <span class="o">==</span> <span class="n">a</span></code> is valid for both positive and negative values of <code>a</code>. As expected, the result of <code>a%b</code> lies in the <a href="Half-open_interval" class="mw-redirect" title="Half-open interval">half-open interval</a> [0, <i>b</i>), where <code>b</code> is a positive integer; however, maintaining the validity of the equation requires that the result must lie in the interval (<i>b</i>, 0] when <code>b</code> is negative.<sup id="cite_ref-AutoNT-62_111-0" class="reference"><a href="#cite_note-AutoNT-62-111"><span class="cite-bracket">[</span>108<span class="cite-bracket">]</span></a></sup>
</p><p>Python provides a <code>round</code> function for rounding a float to the nearest integer. For <a href="Rounding#Tie-breaking" title="Rounding">tie-breaking</a>, Python&nbsp;3 uses the <i>round to even</i> method: <code>round(1.5)</code> and <code>round(2.5)</code> both produce <code>2</code>.<sup id="cite_ref-AutoNT-64_112-0" class="reference"><a href="#cite_note-AutoNT-64-112"><span class="cite-bracket">[</span>109<span class="cite-bracket">]</span></a></sup> Python versions before 3 used the <a href="Rounding#Rounding_away_from_zero" title="Rounding">round-away-from-zero</a> method: <code>round(0.5)</code> is <code>1.0</code>, and <code>round(-0.5)</code> is <code>−1.0</code>.<sup id="cite_ref-AutoNT-63_113-0" class="reference"><a href="#cite_note-AutoNT-63-113"><span class="cite-bracket">[</span>110<span class="cite-bracket">]</span></a></sup>
</p><p>Python allows Boolean expressions that contain multiple equality relations to be consistent with general usage in mathematics. For example, the expression <code>a &lt; b &lt; c</code> tests whether <code>a</code> is less than <code>b</code> and <code>b</code> is less than <code>c</code>.<sup id="cite_ref-AutoNT-65_114-0" class="reference"><a href="#cite_note-AutoNT-65-114"><span class="cite-bracket">[</span>111<span class="cite-bracket">]</span></a></sup> C-derived languages interpret this expression differently: in C, the expression would first evaluate <code>a &lt; b</code>, resulting in 0 or 1, and that result would then be compared with <code>c</code>.<sup id="cite_ref-CPL_115-0" class="reference"><a href="#cite_note-CPL-115"><span class="cite-bracket">[</span>112<span class="cite-bracket">]</span></a></sup>
</p><p>Python uses <a href="Arbitrary-precision_arithmetic" title="Arbitrary-precision arithmetic">arbitrary-precision arithmetic</a> for all integer operations. The <code>Decimal</code> type/class in the <code>decimal</code> module provides <a href="Decimal_floating_point" title="Decimal floating point">decimal floating-point numbers</a> to a pre-defined arbitrary precision with several rounding modes.<sup id="cite_ref-AutoNT-88_116-0" class="reference"><a href="#cite_note-AutoNT-88-116"><span class="cite-bracket">[</span>113<span class="cite-bracket">]</span></a></sup> The <code>Fraction</code> class in the <code>fractions</code> module provides arbitrary precision for <a href="Rational_number" title="Rational number">rational numbers</a>.<sup id="cite_ref-117" class="reference"><a href="#cite_note-117"><span class="cite-bracket">[</span>114<span class="cite-bracket">]</span></a></sup>
</p><p>Due to Python's extensive mathematics library and the third-party library <a href="NumPy" title="NumPy">NumPy</a>, the language is frequently used for scientific scripting in tasks such as numerical data processing and manipulation.<sup id="cite_ref-118" class="reference"><a href="#cite_note-118"><span class="cite-bracket">[</span>115<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-119" class="reference"><a href="#cite_note-119"><span class="cite-bracket">[</span>116<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Function_syntax">Function syntax</h3></div>
<p><a href="Function_(computer_programming)" title="Function (computer programming)">Functions</a> are created in Python by using the <code>def</code> keyword. A function is defined similarly to how it is called, by first providing the function name and then the required parameters. Here is an example of a function that prints its inputs:
</p>
<div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span class="k">def</span> <span class="nf">printer</span><span class="p">(</span><span class="n">input1</span><span class="p">,</span> <span class="n">input2</span><span class="o">=</span><span class="s2">"already there"</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="n">input1</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">input2</span><span class="p">)</span>
<span class="n">printer</span><span class="p">(</span><span class="s2">"hello"</span><span class="p">)</span>
<span class="c1"># Example output:</span>
<span class="c1"># hello</span>
<span class="c1"># already there</span>
</pre></div><p>To assign a default value to a function parameter in case no actual value is provided at run time, variable-definition syntax can be used inside the function header.
</p><div class="mw-heading mw-heading2"><h2 id="Code_examples">Code examples</h2></div>
<p><a href="%22Hello%2C_World!%22_program" title="&quot;Hello, World!&quot; program">"Hello, World!" program</a>:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="nb">print</span><span class="p">(</span><span class="s1">'Hello, world!'</span><span class="p">)</span>
</pre></div>
<p>Program to calculate the <a href="Factorial" title="Factorial">factorial</a> of a positive integer:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">'Type a number, and its factorial will be printed: '</span><span class="p">))</span>

<span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'You must enter a non-negative integer'</span><span class="p">)</span>

<span class="n">factorial</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
<span class="n">factorial</span> <span class="o">*=</span> <span class="n">i</span>

<span class="nb">print</span><span class="p">(</span><span class="n">factorial</span><span class="p">)</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Libraries">Libraries</h2></div>
<p>Python's large standard library<sup id="cite_ref-AutoNT-86_120-0" class="reference"><a href="#cite_note-AutoNT-86-120"><span class="cite-bracket">[</span>117<span class="cite-bracket">]</span></a></sup> is commonly cited as one of its greatest strengths. For Internet-facing applications, many standard formats and protocols such as <a href="MIME" title="MIME">MIME</a> and <a href="HTTP" title="HTTP">HTTP</a> are supported. The language includes modules for creating <a href="Graphical_user_interface" title="Graphical user interface">graphical user interfaces</a>, connecting to <a href="Relational_database" title="Relational database">relational databases</a>, <a href="Pseudorandom_number_generator" title="Pseudorandom number generator">generating pseudorandom numbers</a>, arithmetic with arbitrary-precision decimals,<sup id="cite_ref-AutoNT-88_116-1" class="reference"><a href="#cite_note-AutoNT-88-116"><span class="cite-bracket">[</span>113<span class="cite-bracket">]</span></a></sup> manipulating <a href="Regular_expression" title="Regular expression">regular expressions</a>, and <a href="Unit_testing" title="Unit testing">unit testing</a>.
</p><p>Some parts of the standard library are covered by specifications—for example, the <a href="Web_Server_Gateway_Interface" title="Web Server Gateway Interface">Web Server Gateway Interface</a> (WSGI) implementation <code>wsgiref</code> follows PEP 333<sup id="cite_ref-AutoNT-89_121-0" class="reference"><a href="#cite_note-AutoNT-89-121"><span class="cite-bracket">[</span>118<span class="cite-bracket">]</span></a></sup>—but most parts are specified by their code, internal documentation, and <a href="Test_suite" title="Test suite">test suites</a>. However, because most of the standard library is cross-platform Python code, only a few modules must be altered or rewritten for variant implementations.
</p><p>As of 13&nbsp;March&nbsp;2025, the <a href="Python_Package_Index" title="Python Package Index">Python Package Index</a> (PyPI), the official repository for third-party Python software, contains over 614,339<sup id="cite_ref-PyPI_122-0" class="reference"><a href="#cite_note-PyPI-122"><span class="cite-bracket">[</span>119<span class="cite-bracket">]</span></a></sup> packages. These have a wide range of functionality, including the following:
</p>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */


.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}


/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 30em;">
<ul><li><a href="Automation" title="Automation">Automation</a></li>
<li><a href="Data_analytics" class="mw-redirect" title="Data analytics">Data analytics</a></li>
<li><a href="Database" title="Database">Databases</a></li>
<li><a href="Documentation" title="Documentation">Documentation</a></li>
<li><a href="Graphical_user_interface" title="Graphical user interface">Graphical user interfaces</a></li>
<li><a href="Image_processing" class="mw-redirect" title="Image processing">Image processing</a></li>
<li><a href="Machine_learning" title="Machine learning">Machine learning</a></li>
<li><a href="Mobile_app" title="Mobile app">Mobile apps</a></li>
<li><a href="Multimedia" title="Multimedia">Multimedia</a></li>
<li><a href="Computer_networking" class="mw-redirect" title="Computer networking">Computer networking</a></li>
<li><a href="Scientific_computing" class="mw-redirect" title="Scientific computing">Scientific computing</a></li>
<li><a href="System_administration" class="mw-redirect" title="System administration">System administration</a></li>
<li><a href="Test_framework" class="mw-redirect" title="Test framework">Test frameworks</a></li>
<li><a href="Text_processing" title="Text processing">Text processing</a></li>
<li><a href="Web_framework" title="Web framework">Web frameworks</a></li>
<li><a href="Web_scraping" title="Web scraping">Web scraping</a></li></ul></div>
<div class="mw-heading mw-heading2"><h2 id="Development_environments">Development environments</h2></div>
<div role="note" class="hatnote navigation-not-searchable">See also: <a href="Comparison_of_integrated_development_environments#Python" title="Comparison of integrated development environments">Comparison of integrated development environments §&nbsp;Python</a></div>
<p>Most Python implementations (including CPython) include a <a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop">read–eval–print loop</a> (REPL); this permits the environment to function as a <a href="Command_line_interpreter" class="mw-redirect" title="Command line interpreter">command line interpreter</a>, with which users enter statements sequentially and receive results immediately.
</p><p>Python is also bundled with an <a href="Integrated_development_environment" title="Integrated development environment">integrated development environment (IDE)</a> called <a href="IDLE" title="IDLE">IDLE</a>, which is oriented toward beginners.
</p><p>Other shells, including <a href="IDLE" title="IDLE">IDLE</a> and <a href="IPython" title="IPython">IPython</a>, add additional capabilities such as improved auto-completion, session-state retention, and <a href="Syntax_highlighting" title="Syntax highlighting">syntax highlighting</a>.
</p><p>Standard desktop IDEs include PyCharm, IntelliJ Idea, Visual Studio Code; there are also <a href="Web_browser" title="Web browser">web browser</a>-based IDEs, such as the following environments:
</p>
<ul><li><a href="SageMath" title="SageMath">SageMath</a>, for developing science- and math-related programs;</li>
<li><a href="Project_Jupyter" title="Project Jupyter">Jupyter Notebooks</a>, an open-source interactive computing platform;</li>
<li><a href="PythonAnywhere" title="PythonAnywhere">PythonAnywhere</a>, a browser-based IDE and hosting environment; and</li>
<li>Canopy IDE, a commercial IDE that emphasizes <a href="Scientific_computing" class="mw-redirect" title="Scientific computing">scientific computing</a>.<sup id="cite_ref-123" class="reference"><a href="#cite_note-123"><span class="cite-bracket">[</span>120<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-124" class="reference"><a href="#cite_note-124"><span class="cite-bracket">[</span>121<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2></div>
<div role="note" class="hatnote navigation-not-searchable">See also: <a href="List_of_Python_software#Python_implementations" title="List of Python software">List of Python software §&nbsp;Python implementations</a></div>
<div class="mw-heading mw-heading3"><h3 id="Reference_implementation">Reference implementation</h3></div>
<p><a href="CPython" title="CPython">CPython</a> is the <a href="Reference_implementation" title="Reference implementation">reference implementation</a> of Python. This implementation is written in C, meeting the <a href="C11_(C_standard_revision)" title="C11 (C standard revision)">C11</a> standard<sup id="cite_ref-125" class="reference"><a href="#cite_note-125"><span class="cite-bracket">[</span>122<span class="cite-bracket">]</span></a></sup> (since version 3.11, older versions use the <a href="C89_(C_version)" class="mw-redirect" title="C89 (C version)">C89</a> standard with several select <a href="C99" title="C99">C99</a> features), but third-party extensions are not limited to older C versions—e.g., they can be implemented using C11 or C++.<sup id="cite_ref-126" class="reference"><a href="#cite_note-126"><span class="cite-bracket">[</span>123<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-66_127-0" class="reference"><a href="#cite_note-AutoNT-66-127"><span class="cite-bracket">[</span>124<span class="cite-bracket">]</span></a></sup> CPython <a href="Compiler" title="Compiler">compiles</a> Python programs into an intermediate <a href="Bytecode" title="Bytecode">bytecode</a>,<sup id="cite_ref-AutoNT-67_128-0" class="reference"><a href="#cite_note-AutoNT-67-128"><span class="cite-bracket">[</span>125<span class="cite-bracket">]</span></a></sup> which is then executed by a <a href="Virtual_machine" title="Virtual machine">virtual machine</a>.<sup id="cite_ref-AutoNT-68_129-0" class="reference"><a href="#cite_note-AutoNT-68-129"><span class="cite-bracket">[</span>126<span class="cite-bracket">]</span></a></sup> CPython is distributed with a large standard library written in a combination of C and native Python.
</p><p>CPython is available for many platforms, including Windows and most modern <a href="Unix-like" title="Unix-like">Unix-like</a> systems, including macOS (and <a href="Apple_M1" title="Apple M1">Apple M1</a> Macs, since Python&nbsp;3.9.1, using an experimental installer). Starting with Python&nbsp;3.9, the Python installer intentionally fails to install on <a href="Windows_7" title="Windows 7">Windows 7</a> and 8;<sup id="cite_ref-130" class="reference"><a href="#cite_note-130"><span class="cite-bracket">[</span>127<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-131" class="reference"><a href="#cite_note-131"><span class="cite-bracket">[</span>128<span class="cite-bracket">]</span></a></sup> <a href="Windows_XP" title="Windows XP">Windows XP</a> was supported until Python&nbsp;3.5, with unofficial support for <a href="OpenVMS" title="OpenVMS">VMS</a>.<sup id="cite_ref-132" class="reference"><a href="#cite_note-132"><span class="cite-bracket">[</span>129<span class="cite-bracket">]</span></a></sup> Platform portability was one of Python's earliest priorities.<sup id="cite_ref-AutoNT-69_133-0" class="reference"><a href="#cite_note-AutoNT-69-133"><span class="cite-bracket">[</span>130<span class="cite-bracket">]</span></a></sup> During development of Python&nbsp;1 and 2, even <a href="OS/2" title="OS/2">OS/2</a> and <a href="Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a> were supported;<sup id="cite_ref-134" class="reference"><a href="#cite_note-134"><span class="cite-bracket">[</span>131<span class="cite-bracket">]</span></a></sup> since that time, support has been dropped for many platforms.
</p><p>All current Python versions (since 3.7) support only operating systems that feature multithreading, by now supporting not nearly as many operating systems (dropping many outdated) than in the past.
</p>
<div class="mw-heading mw-heading3"><h3 id="Other_implementations">Other implementations</h3></div>
<p>All alternative implementations have at least slightly different semantic. For example, an alternative may include unordered dictionaries, in contrast to other current Python versions. As another example in the larger Python ecosystem, PyPy does not support the full C Python API. Alternative implementations include the following:
</p>
<ul><li><a href="PyPy" title="PyPy">PyPy</a> is a fast, compliant interpreter of Python&nbsp;2.7 and 3.10.<sup id="cite_ref-AutoNT-70_135-0" class="reference"><a href="#cite_note-AutoNT-70-135"><span class="cite-bracket">[</span>132<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-136" class="reference"><a href="#cite_note-136"><span class="cite-bracket">[</span>133<span class="cite-bracket">]</span></a></sup> PyPy's <a href="Just-in-time_compiler" class="mw-redirect" title="Just-in-time compiler">just-in-time compiler</a> often improves speed significantly relative to CPython, but PyPy does not support some libraries written in C.<sup id="cite_ref-AutoNT-71_137-0" class="reference"><a href="#cite_note-AutoNT-71-137"><span class="cite-bracket">[</span>134<span class="cite-bracket">]</span></a></sup> PyPy offers support for the <a href="RISC-V" title="RISC-V">RISC-V</a> instruction-set architecture.</li>
<li>Codon is an implementation with an <a href="Ahead-of-time_compilation" title="Ahead-of-time compilation">ahead-of-time (AOT) compiler</a>, which compiles a statically-typed Python-like language whose "syntax and semantics are nearly identical to Python's, there are some notable differences"<sup id="cite_ref-138" class="reference"><a href="#cite_note-138"><span class="cite-bracket">[</span>135<span class="cite-bracket">]</span></a></sup> For example, Codon uses 64-bit machine integers for speed, not arbitrarily as with Python; Codon developers claim that speedups over CPython are usually on the order of ten to a hundred times. Codon compiles to machine code (via <a href="LLVM" title="LLVM">LLVM</a>) and supports native multithreading.<sup id="cite_ref-139" class="reference"><a href="#cite_note-139"><span class="cite-bracket">[</span>136<span class="cite-bracket">]</span></a></sup> Codon can also compile to Python extension modules that can be imported and used from Python.</li>
<li><a href="MicroPython" title="MicroPython">MicroPython</a> and <a href="CircuitPython" title="CircuitPython">CircuitPython</a> are Python&nbsp;3 variants that are optimized for <a href="Microcontroller" title="Microcontroller">microcontrollers</a>, including the <a href="Lego_Mindstorms_EV3" title="Lego Mindstorms EV3">Lego Mindstorms EV3</a>.<sup id="cite_ref-140" class="reference"><a href="#cite_note-140"><span class="cite-bracket">[</span>137<span class="cite-bracket">]</span></a></sup></li>
<li>Pyston is a variant of the Python runtime that uses just-in-time compilation to speed up execution of Python programs.<sup id="cite_ref-141" class="reference"><a href="#cite_note-141"><span class="cite-bracket">[</span>138<span class="cite-bracket">]</span></a></sup></li>
<li>Cinder is a performance-oriented fork of CPython 3.8 that features a number of optimizations, including bytecode inline caching, eager evaluation of coroutines, a method-at-a-time <a href="Just-in-time_compilation" title="Just-in-time compilation">JIT</a>, and an experimental bytecode compiler.<sup id="cite_ref-142" class="reference"><a href="#cite_note-142"><span class="cite-bracket">[</span>139<span class="cite-bracket">]</span></a></sup></li>
<li>The Snek<sup id="cite_ref-143" class="reference"><a href="#cite_note-143"><span class="cite-bracket">[</span>140<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-144" class="reference"><a href="#cite_note-144"><span class="cite-bracket">[</span>141<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-145" class="reference"><a href="#cite_note-145"><span class="cite-bracket">[</span>142<span class="cite-bracket">]</span></a></sup> embedded computing language "is Python-inspired, but it is not Python. It is possible to write Snek programs that run under a full Python system, but most Python programs will not run under Snek."<sup id="cite_ref-146" class="reference"><a href="#cite_note-146"><span class="cite-bracket">[</span>143<span class="cite-bracket">]</span></a></sup> Snek is compatible with 8-bit <a href="AVR_microcontrollers" title="AVR microcontrollers">AVR microcontrollers</a> such as <a href="ATmega" class="mw-redirect" title="ATmega">ATmega 328P</a>-based Arduino, as well as larger microcontrollers that are compatible with <a href="MicroPython" title="MicroPython">MicroPython</a>. Snek is an imperative language that (unlike Python) omits <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a>. Snek supports only one numeric data type, which features 32-bit <a href="Single-precision" class="mw-redirect" title="Single-precision">single precision</a> (resembling <a href="JavaScript" title="JavaScript">JavaScript</a> numbers, though smaller).</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Unsupported_implementations">Unsupported implementations</h3></div>
<p><a href="Stackless_Python" title="Stackless Python">Stackless Python</a> is a significant fork of CPython that implements <a href="Microthread" title="Microthread">microthreads</a>. This implementation uses the <a href="Call_stack" title="Call stack">call stack</a> differently, thus allowing massively concurrent programs. PyPy also offers a stackless version.<sup id="cite_ref-AutoNT-73_147-0" class="reference"><a href="#cite_note-AutoNT-73-147"><span class="cite-bracket">[</span>144<span class="cite-bracket">]</span></a></sup>
</p><p>Just-in-time Python compilers have been developed, but are now unsupported:
</p>
<ul><li>Google began a project named <a href="Unladen_Swallow" title="Unladen Swallow">Unladen Swallow</a> in 2009: this project aimed to speed up the Python interpreter five-fold by using <a href="LLVM" title="LLVM">LLVM</a>, and improve <a href="Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">multithreading</a> capability for scaling to thousands of cores,<sup id="cite_ref-AutoNT-74_148-0" class="reference"><a href="#cite_note-AutoNT-74-148"><span class="cite-bracket">[</span>145<span class="cite-bracket">]</span></a></sup> while typical implementations are limited by the <a href="Global_interpreter_lock" title="Global interpreter lock">global interpreter lock</a>.</li>
<li><a href="Psyco" title="Psyco">Psyco</a> is a discontinued <a href="Just-in-time_compilation" title="Just-in-time compilation">just-in-time</a> <a href="Run-time_algorithm_specialization" title="Run-time algorithm specialization">specializing</a> compiler, which integrates with CPython and transforms bytecode to machine code at runtime. The emitted code is specialized for certain <a href="Data_type" title="Data type">data types</a> and is faster than standard Python code. Psyco does not support Python&nbsp;2.7 or later.</li>
<li><a href="PyS60" class="mw-redirect" title="PyS60">PyS60</a> was a Python&nbsp;2 interpreter for <a href="Series_60" class="mw-redirect" title="Series 60">Series 60</a> mobile phones, which was released by <a href="Nokia" title="Nokia">Nokia</a> in 2005. The interpreter implemented many modules from Python's standard library, as well as additional modules for integration with the <a href="Symbian" title="Symbian">Symbian</a> operating system. The Nokia <a href="N900" class="mw-redirect" title="N900">N900</a> also supports Python through the <a href="GTK" title="GTK">GTK</a> widget library, allowing programs to be written and run on the target device.<sup id="cite_ref-149" class="reference"><a href="#cite_note-149"><span class="cite-bracket">[</span>146<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Cross-compilers_to_other_languages">Cross-compilers to other languages</h3></div>
<p>There are several compilers/<a href="Transpiler" class="mw-redirect" title="Transpiler">transpilers</a> to high-level object languages; the source language is unrestricted Python, a subset of Python, or a language similar to Python:
</p>
<ul><li>Brython,<sup id="cite_ref-150" class="reference"><a href="#cite_note-150"><span class="cite-bracket">[</span>147<span class="cite-bracket">]</span></a></sup> Transcrypt,<sup id="cite_ref-151" class="reference"><a href="#cite_note-151"><span class="cite-bracket">[</span>148<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-152" class="reference"><a href="#cite_note-152"><span class="cite-bracket">[</span>149<span class="cite-bracket">]</span></a></sup> and <a href="Pyjs" title="Pyjs">Pyjs</a> compile Python to <a href="JavaScript" title="JavaScript">JavaScript</a>. (The latest release of Pyjs was in 2012.)</li>
<li><a href="Cython" title="Cython">Cython</a> compiles a superset of Python to C. The resulting code can be used with Python via direct C-level API calls into the Python interpreter.</li>
<li>PyJL compiles/transpiles a subset of Python to "human-readable, maintainable, and high-performance Julia source code".<sup id="cite_ref-PyJL_75-1" class="reference"><a href="#cite_note-PyJL-75"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup> Despite the developers' performance claims, this is not possible for <i>arbitrary</i> Python code; that is, compiling to a faster language or machine code is known to be impossible in the general case. The semantics of Python might potentially be changed, but in many cases speedup is possible with few or no changes in the Python code. The faster Julia source code can then be used from Python or compiled to machine code.</li>
<li><a href="Nuitka" title="Nuitka">Nuitka</a> compiles Python into C.<sup id="cite_ref-153" class="reference"><a href="#cite_note-153"><span class="cite-bracket">[</span>150<span class="cite-bracket">]</span></a></sup> This compiler works with Python 3.4 to 3.12 (and 2.6 and 2.7) for Python's main supported platforms (and Windows 7 or even Windows XP) and for Android. The compiler developers claim full support for Python 3.10, partial support for Python 3.11 and 3.12, and experimental support for Python 3.13. Nuitka supports macOS including Apple Silicon-based versions. The compiler is free of cost, though it has commercial add-ons (e.g., for hiding source code).</li>
<li><a href="Numba" title="Numba">Numba</a> is a JIT compiler that is used from Python; the compiler translates a subset of Python and NumPy code into fast machine code. This tool is enabled by adding a decorator to the relevant Python code.</li>
<li>Pythran compiles a subset of Python&nbsp;3 to C++ (<a href="C%2B%2B11" title="C++11">C++11</a>).<sup id="cite_ref-Guelton_Brunet_Amini_Merlini_2015_p=014001_154-0" class="reference"><a href="#cite_note-Guelton_Brunet_Amini_Merlini_2015_p=014001-154"><span class="cite-bracket">[</span>151<span class="cite-bracket">]</span></a></sup></li>
<li><a href="RPython" class="mw-redirect" title="RPython">RPython</a> can be compiled to C, and it is used to build the PyPy interpreter for Python.</li>
<li>The Python → 11l → C++ transpiler<sup id="cite_ref-155" class="reference"><a href="#cite_note-155"><span class="cite-bracket">[</span>152<span class="cite-bracket">]</span></a></sup> compiles a subset of Python&nbsp;3 to C++ (<a href="C%2B%2B17" title="C++17">C++17</a>).</li></ul>
<p>There are also specialized compilers:
</p>
<ul><li><a href="MyHDL" title="MyHDL">MyHDL</a> is a Python-based <a href="Hardware_description_language" title="Hardware description language">hardware description language</a> (HDL) that converts MyHDL code to <a href="Verilog" title="Verilog">Verilog</a> or <a href="VHDL" title="VHDL">VHDL</a> code.</li></ul>
<p>Some older projects existed, as well as compilers not designed for use with Python 3.x and related syntax:
</p>
<ul><li>Google's Grumpy <a href="Transpile" class="mw-redirect" title="Transpile">transpiles</a> Python&nbsp;2 to <a href="Go_(programming_language)" title="Go (programming language)">Go</a>.<sup id="cite_ref-156" class="reference"><a href="#cite_note-156"><span class="cite-bracket">[</span>153<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-157" class="reference"><a href="#cite_note-157"><span class="cite-bracket">[</span>154<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-158" class="reference"><a href="#cite_note-158"><span class="cite-bracket">[</span>155<span class="cite-bracket">]</span></a></sup> The latest release was in 2017.</li>
<li><a href="IronPython" title="IronPython">IronPython</a> allows running Python&nbsp;2.7 programs with the .NET <a href="Common_Language_Runtime" title="Common Language Runtime">Common Language Runtime</a>.<sup id="cite_ref-159" class="reference"><a href="#cite_note-159"><span class="cite-bracket">[</span>156<span class="cite-bracket">]</span></a></sup> An <a href="Software_release_life_cycle#Alpha" title="Software release life cycle">alpha</a> version (released in 2021), is available for "Python&nbsp;3.4, although features and behaviors from later versions may be included."<sup id="cite_ref-160" class="reference"><a href="#cite_note-160"><span class="cite-bracket">[</span>157<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Jython" title="Jython">Jython</a> compiles Python&nbsp;2.7 to Java bytecode, allowing the use of Java libraries from a Python program.<sup id="cite_ref-161" class="reference"><a href="#cite_note-161"><span class="cite-bracket">[</span>158<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Pyrex_(programming_language)" title="Pyrex (programming language)">Pyrex</a> (last released in 2010) and <a href="Shed_Skin" title="Shed Skin">Shed Skin</a> (last released in 2013) compile to C and C++ respectively.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Performance">Performance</h3></div>
<p>A performance comparison among various Python implementations, using a non-numerical (combinatorial) workload, was presented at EuroSciPy '13.<sup id="cite_ref-162" class="reference"><a href="#cite_note-162"><span class="cite-bracket">[</span>159<span class="cite-bracket">]</span></a></sup> In addition, Python's performance relative to other programming languages is benchmarked by <a href="The_Computer_Language_Benchmarks_Game" title="The Computer Language Benchmarks Game">The Computer Language Benchmarks Game</a>.<sup id="cite_ref-163" class="reference"><a href="#cite_note-163"><span class="cite-bracket">[</span>160<span class="cite-bracket">]</span></a></sup>
</p><p>There are several approaches to optimizing Python performance, given the inherent slowness of an <a href="Interpreted_language" class="mw-redirect" title="Interpreted language">interpreted language</a>. These approaches include the following strategies or tools:
</p>
<ul><li><a href="Just-in-time_compilation" title="Just-in-time compilation">Just-in-time compilation</a>: Dynamically compiling Python code just before it is executed. This technique is used in libraries such as <a href="Numba" title="Numba">Numba</a> and <a href="PyPy" title="PyPy">PyPy</a>.</li>
<li><a href="Compiler" title="Compiler">Static compilation</a>: Python code is compiled into machine code sometime before execution. An example of this approach is Cython, which compiles Python into C.</li>
<li>Concurrency and parallelism: Multiple tasks can be run simultaneously. Python contains modules such as `multiprocessing` to support this form of parallelism. Moreover, this approach helps to overcome limitations of the <a href="Global_interpreter_lock" title="Global interpreter lock">Global Interpreter Lock</a> (GIL) in CPU tasks.</li>
<li>Efficient data structures: Performance can also be improved by using data types such as <code>Set</code> for membership tests, or <code>deque</code> from <code>collections</code> for <a href="Queueing_theory" title="Queueing theory">queue</a> operations.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Language_Development">Language Development</h2></div>
<p>Python's development is conducted largely through the <i>Python Enhancement Proposal</i> (PEP) process; this process is the primary mechanism for proposing major new features, collecting community input on issues, and documenting Python design decisions.<sup id="cite_ref-PepCite000_164-0" class="reference"><a href="#cite_note-PepCite000-164"><span class="cite-bracket">[</span>161<span class="cite-bracket">]</span></a></sup> Python coding style is covered in PEP&nbsp;8.<sup id="cite_ref-165" class="reference"><a href="#cite_note-165"><span class="cite-bracket">[</span>162<span class="cite-bracket">]</span></a></sup> Outstanding PEPs are reviewed and commented on by the Python community and the steering council.<sup id="cite_ref-PepCite000_164-1" class="reference"><a href="#cite_note-PepCite000-164"><span class="cite-bracket">[</span>161<span class="cite-bracket">]</span></a></sup>
</p><p>Enhancement of the language corresponds with development of the CPython reference implementation. The mailing list python-dev is the primary forum for the language's development. Specific issues were originally discussed in the <a href="Roundup_(issue_tracker)" title="Roundup (issue tracker)">Roundup</a> <a href="Bug_tracker" class="mw-redirect" title="Bug tracker">bug tracker</a> hosted by the foundation.<sup id="cite_ref-AutoNT-21_166-0" class="reference"><a href="#cite_note-AutoNT-21-166"><span class="cite-bracket">[</span>163<span class="cite-bracket">]</span></a></sup> In 2022, all issues and discussions were migrated to <a href="GitHub" title="GitHub">GitHub</a>.<sup id="cite_ref-167" class="reference"><a href="#cite_note-167"><span class="cite-bracket">[</span>164<span class="cite-bracket">]</span></a></sup> Development originally took place on a <a href="Self-hosting_(web_services)" title="Self-hosting (web services)">self-hosted</a> source-code repository running <a href="Mercurial" title="Mercurial">Mercurial</a>, until Python moved to <a href="GitHub" title="GitHub">GitHub</a> in January 2017.<sup id="cite_ref-py_dev_guide_168-0" class="reference"><a href="#cite_note-py_dev_guide-168"><span class="cite-bracket">[</span>165<span class="cite-bracket">]</span></a></sup>
</p><p>CPython's public releases have three types, distinguished by which part of the version number is incremented:
</p>
<ul><li><i>Backward-incompatible versions</i>, where code is expected to break and must be manually <a href="Ported" class="mw-redirect" title="Ported">ported</a>. The first part of the version number is incremented. These releases happen infrequently—version 3.0 was released 8 years after 2.0. According to Guido van Rossum, a version 4.0 will probably never exist.<sup id="cite_ref-169" class="reference"><a href="#cite_note-169"><span class="cite-bracket">[</span>166<span class="cite-bracket">]</span></a></sup></li>
<li><i>Major or "feature" releases</i> are largely compatible with the previous version but introduce new features. The second part of the version number is incremented. Starting with Python&nbsp;3.9, these releases are expected to occur annually.<sup id="cite_ref-170" class="reference"><a href="#cite_note-170"><span class="cite-bracket">[</span>167<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-171" class="reference"><a href="#cite_note-171"><span class="cite-bracket">[</span>168<span class="cite-bracket">]</span></a></sup> Each major version is supported by bug fixes for several years after its release.<sup id="cite_ref-release-schedule_172-0" class="reference"><a href="#cite_note-release-schedule-172"><span class="cite-bracket">[</span>169<span class="cite-bracket">]</span></a></sup></li>
<li><i>Bug fix releases</i>,<sup id="cite_ref-AutoNT-22_173-0" class="reference"><a href="#cite_note-AutoNT-22-173"><span class="cite-bracket">[</span>170<span class="cite-bracket">]</span></a></sup> which introduce no new features, occur approximately every three months; these releases are made when a sufficient number of bugs have been fixed <a href="Upstream_(software_development)" title="Upstream (software development)">upstream</a> since the last release. Security vulnerabilities are also patched in these releases. The third and final part of the version number is incremented.<sup id="cite_ref-AutoNT-22_173-1" class="reference"><a href="#cite_note-AutoNT-22-173"><span class="cite-bracket">[</span>170<span class="cite-bracket">]</span></a></sup></li></ul>
<p>Many <a href="Beta_release" class="mw-redirect" title="Beta release">alpha, beta, and release-candidates</a> are also released as previews and for testing before final releases. Although there is a rough schedule for releases, they are often delayed if the code is not ready yet. Python's development team monitors the state of the code by running a large <a href="Unit_test" class="mw-redirect" title="Unit test">unit test</a> suite during development.<sup id="cite_ref-AutoNT-23_174-0" class="reference"><a href="#cite_note-AutoNT-23-174"><span class="cite-bracket">[</span>171<span class="cite-bracket">]</span></a></sup>
</p><p>The major <a href="Academic_conference" title="Academic conference">academic conference</a> on Python is <a href="PyCon" class="mw-redirect" title="PyCon">PyCon</a>. There are also special Python mentoring programs, such as <a href="PyLadies" title="PyLadies">PyLadies</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="API_documentation_generators">API documentation generators</h2></div>
<p>Tools that can generate documentation for Python <a href="API" title="API">API</a> include <a href="Pydoc" title="Pydoc">pydoc</a> (available as part of the standard library); <a href="Sphinx_(documentation_generator)" title="Sphinx (documentation generator)">Sphinx</a>; and <a href="Pdoc" title="Pdoc">Pdoc</a> and its forks, <a href="Doxygen" title="Doxygen">Doxygen</a> and <a href="Graphviz" title="Graphviz">Graphviz</a>.<sup id="cite_ref-175" class="reference"><a href="#cite_note-175"><span class="cite-bracket">[</span>172<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Naming">Naming</h2></div>
<p>Python's name is inspired by the British comedy group <a href="Monty_Python" title="Monty Python">Monty Python</a>, whom Python creator Guido van Rossum enjoyed while developing the language. Monty Python references appear frequently in Python code and culture;<sup id="cite_ref-tutorial-chapter1_176-0" class="reference"><a href="#cite_note-tutorial-chapter1-176"><span class="cite-bracket">[</span>173<span class="cite-bracket">]</span></a></sup> for example, the <a href="Metasyntactic_variable" title="Metasyntactic variable">metasyntactic variables</a> often used in Python literature are <a href="Spam_(Monty_Python)" class="mw-redirect" title="Spam (Monty Python)"><i>spam</i> and <i>eggs</i></a>, rather than the traditional <a href="Foobar" title="Foobar"><i>foo</i> and <i>bar</i></a>.<sup id="cite_ref-tutorial-chapter1_176-1" class="reference"><a href="#cite_note-tutorial-chapter1-176"><span class="cite-bracket">[</span>173<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-26_177-0" class="reference"><a href="#cite_note-AutoNT-26-177"><span class="cite-bracket">[</span>174<span class="cite-bracket">]</span></a></sup> The official Python documentation also contains various references to Monty Python routines.<sup id="cite_ref-178" class="reference"><a href="#cite_note-178"><span class="cite-bracket">[</span>175<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-179" class="reference"><a href="#cite_note-179"><span class="cite-bracket">[</span>176<span class="cite-bracket">]</span></a></sup> Python users are sometimes referred to as "Pythonistas".<sup id="cite_ref-introducing_python_180-0" class="reference"><a href="#cite_note-introducing_python-180"><span class="cite-bracket">[</span>177<span class="cite-bracket">]</span></a></sup>
</p><p>The <a href="Affix" title="Affix">affix</a> <i>Py</i> is often used when naming Python applications or libraries. Some examples include the following:
</p>
<ul><li><a href="Pygame" title="Pygame">Pygame</a>, a <a href="Language_binding" title="Language binding">binding</a> of <a href="Simple_DirectMedia_Layer" title="Simple DirectMedia Layer">Simple DirectMedia Layer</a> to Python (commonly used to create games);</li>
<li><a href="PyQt" title="PyQt">PyQt</a> and <a href="PyGTK" title="PyGTK">PyGTK</a>, which bind <a href="Qt_(software)" title="Qt (software)">Qt</a> and GTK to Python respectively;</li>
<li><a href="PyPy" title="PyPy">PyPy</a>, a Python implementation originally written in Python;</li>
<li><a href="NumPy" title="NumPy">NumPy</a>, a Python library for numerical processing.</li>
<li><a href="Jupyter" class="mw-redirect" title="Jupyter">Jupyter</a>, a <a href="Notebook_interface" title="Notebook interface">notebook interface</a> and associated project for interactive computing</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Popularity">Popularity</h2></div>
<p>Since 2003, Python has consistently ranked in the top ten of the most popular programming languages in the <a href="TIOBE_Programming_Community_Index" class="mw-redirect" title="TIOBE Programming Community Index">TIOBE Programming Community Index</a>; as of December&nbsp;2022, Python was the most popular language.<sup id="cite_ref-tiobecurrent_41-1" class="reference"><a href="#cite_note-tiobecurrent-41"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> Python was selected as Programming Language of the Year (for "the highest rise in ratings in a year") in 2007, 2010, 2018, and 2020—the only language to have done so four times as of 2020<sup id="cite_ref-181" class="reference"><a href="#cite_note-181"><span class="cite-bracket">[</span>178<span class="cite-bracket">]</span></a></sup>). In the TIOBE Index, monthly rankings are based on the volume of searches for programming languages on Google, Amazon, Wikipedia, Bing, and 20 other platforms. According to the accompanying graph, Python has shown a marked upward trend since the early 2000s, eventually passing more established languages such as C, C++, and Java. This trend can be attributed to Python's readable syntax, comprehensive standard library, and application in data science and machine learning fields.<sup id="cite_ref-182" class="reference"><a href="#cite_note-182"><span class="cite-bracket">[</span>179<span class="cite-bracket">]</span></a></sup>
</p>

<p>Large organizations that use Python include <a href="Wikipedia" title="Wikipedia">Wikipedia</a>, <a href="Google" title="Google">Google</a>,<sup id="cite_ref-quotes-about-python_183-0" class="reference"><a href="#cite_note-quotes-about-python-183"><span class="cite-bracket">[</span>180<span class="cite-bracket">]</span></a></sup> <a href="Yahoo!" class="mw-redirect" title="Yahoo!">Yahoo!</a>,<sup id="cite_ref-AutoNT-29_184-0" class="reference"><a href="#cite_note-AutoNT-29-184"><span class="cite-bracket">[</span>181<span class="cite-bracket">]</span></a></sup> <a href="CERN" title="CERN">CERN</a>,<sup id="cite_ref-AutoNT-30_185-0" class="reference"><a href="#cite_note-AutoNT-30-185"><span class="cite-bracket">[</span>182<span class="cite-bracket">]</span></a></sup> <a href="NASA" title="NASA">NASA</a>,<sup id="cite_ref-AutoNT-31_186-0" class="reference"><a href="#cite_note-AutoNT-31-186"><span class="cite-bracket">[</span>183<span class="cite-bracket">]</span></a></sup> <a href="Facebook" title="Facebook">Facebook</a>,<sup id="cite_ref-187" class="reference"><a href="#cite_note-187"><span class="cite-bracket">[</span>184<span class="cite-bracket">]</span></a></sup> <a href="Amazon_(company)" title="Amazon (company)">Amazon</a>, <a href="Instagram" title="Instagram">Instagram</a>,<sup id="cite_ref-188" class="reference"><a href="#cite_note-188"><span class="cite-bracket">[</span>185<span class="cite-bracket">]</span></a></sup> <a href="Spotify" title="Spotify">Spotify</a>,<sup id="cite_ref-189" class="reference"><a href="#cite_note-189"><span class="cite-bracket">[</span>186<span class="cite-bracket">]</span></a></sup> and some smaller entities such as <a href="Industrial_Light_%26_Magic" title="Industrial Light &amp; Magic">Industrial Light &amp; Magic</a><sup id="cite_ref-AutoNT-32_190-0" class="reference"><a href="#cite_note-AutoNT-32-190"><span class="cite-bracket">[</span>187<span class="cite-bracket">]</span></a></sup> and <a href="ITA_Software" title="ITA Software">ITA</a>.<sup id="cite_ref-AutoNT-33_191-0" class="reference"><a href="#cite_note-AutoNT-33-191"><span class="cite-bracket">[</span>188<span class="cite-bracket">]</span></a></sup> The social news networking site <a href="Reddit" title="Reddit">Reddit</a> was developed mostly in Python.<sup id="cite_ref-192" class="reference"><a href="#cite_note-192"><span class="cite-bracket">[</span>189<span class="cite-bracket">]</span></a></sup> Organizations that partly use Python include <a href="Discord" title="Discord">Discord</a><sup id="cite_ref-193" class="reference"><a href="#cite_note-193"><span class="cite-bracket">[</span>190<span class="cite-bracket">]</span></a></sup> and <a href="Baidu" title="Baidu">Baidu</a>.<sup id="cite_ref-194" class="reference"><a href="#cite_note-194"><span class="cite-bracket">[</span>191<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Types_of_Use">Types of Use</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="List_of_Python_software" title="List of Python software">List of Python software</a></div>

<p>Python has many uses, including the following:
</p>
<ul><li><a href="Scripting_language" title="Scripting language">Scripting</a> for <a href="Web_application" title="Web application">web applications</a></li>
<li>Scientific computing</li>
<li><a href="Artificial_intelligence" title="Artificial intelligence">Artificial intelligence</a> and <a href="Machine_learning" title="Machine learning">machine learning</a> projects</li>
<li><a href="Graphical_user_interface" title="Graphical user interface">Graphical user interfaces</a> and <a href="Desktop_environment" title="Desktop environment">desktop environments</a></li>
<li>Embedded scripting in software and hardware products</li>
<li>Operating systems</li>
<li><a href="Information_security" title="Information security">Information security</a></li></ul>
<p>Python can serve as a scripting language for web applications, e.g., via the <a href="Mod_wsgi" title="Mod wsgi">mod_wsgi</a> module for the <a href="Apache_webserver" class="mw-redirect" title="Apache webserver">Apache web server</a>.<sup id="cite_ref-AutoNT-35_195-0" class="reference"><a href="#cite_note-AutoNT-35-195"><span class="cite-bracket">[</span>192<span class="cite-bracket">]</span></a></sup> With <a href="Web_Server_Gateway_Interface" title="Web Server Gateway Interface">Web Server Gateway Interface</a>, a standard API has evolved to facilitate these applications. <a href="Web_framework" title="Web framework">Web frameworks</a> such as <a href="Django_(web_framework)" title="Django (web framework)">Django</a>, <a href="Pylons_(web_framework)" class="mw-redirect" title="Pylons (web framework)">Pylons</a>, <a href="Pyramid_(web_framework)" class="mw-redirect" title="Pyramid (web framework)">Pyramid</a>, <a href="TurboGears" title="TurboGears">TurboGears</a>, <a href="Web2py" title="Web2py">web2py</a>, <a href="Tornado_(web_server)" title="Tornado (web server)">Tornado</a>, <a href="Flask_(web_framework)" title="Flask (web framework)">Flask</a>, Bottle, and <a href="Zope" title="Zope">Zope</a> support developers in the design and maintenance of complex applications. Pyjs and <a href="IronPython" title="IronPython">IronPython</a> can be used to develop the client-side of Ajax-based applications. <a href="SQLAlchemy" title="SQLAlchemy">SQLAlchemy</a> can be used as a <a href="Data_mapper_pattern" title="Data mapper pattern">data mapper</a> to a relational database. <a href="Twisted_(software)" title="Twisted (software)">Twisted</a> is a framework to program communication between computers; this framework is used by <a href="Dropbox" title="Dropbox">Dropbox</a>, for example.
</p><p>Libraries such as <a href="NumPy" title="NumPy">NumPy</a>, <a href="SciPy" title="SciPy">SciPy</a> and <a href="Matplotlib" title="Matplotlib">Matplotlib</a> allow the effective use of Python in scientific computing,<sup id="cite_ref-cise_196-0" class="reference"><a href="#cite_note-cise-196"><span class="cite-bracket">[</span>193<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-millman_197-0" class="reference"><a href="#cite_note-millman-197"><span class="cite-bracket">[</span>194<span class="cite-bracket">]</span></a></sup> with specialized libraries such as <a href="Biopython" title="Biopython">Biopython</a> and <a href="Astropy" title="Astropy">Astropy</a> providing domain-specific functionality. <a href="SageMath" title="SageMath">SageMath</a> is a <a href="Computer_algebra_system" title="Computer algebra system">computer algebra system</a> with a <a href="Notebook_interface" title="Notebook interface">notebook interface</a> that is programmable in Python; the SageMath library covers many aspects of <a href="Mathematics" title="Mathematics">mathematics</a>, including <a href="Algebra" title="Algebra">algebra</a>, <a href="Combinatorics" title="Combinatorics">combinatorics</a>, <a href="Numerical_mathematics" class="mw-redirect" title="Numerical mathematics">numerical mathematics</a>, <a href="Number_theory" title="Number theory">number theory</a>, and <a href="Calculus" title="Calculus">calculus</a>.<sup id="cite_ref-ICSE_198-0" class="reference"><a href="#cite_note-ICSE-198"><span class="cite-bracket">[</span>195<span class="cite-bracket">]</span></a></sup> <a href="OpenCV" title="OpenCV">OpenCV</a> has Python bindings with a rich set of features for <a href="Computer_vision" title="Computer vision">computer vision</a> and <a href="Image_processing" class="mw-redirect" title="Image processing">image processing</a>.<sup id="cite_ref-199" class="reference"><a href="#cite_note-199"><span class="cite-bracket">[</span>196<span class="cite-bracket">]</span></a></sup>
</p><p>Python is commonly used in artificial-intelligence and machine-learning projects, with support from libraries such as <a href="TensorFlow" title="TensorFlow">TensorFlow</a>, <a href="Keras" title="Keras">Keras</a>, <a href="Pytorch" class="mw-redirect" title="Pytorch">Pytorch</a>, <a href="Scikit-learn" title="Scikit-learn">scikit-learn</a> and <a href="ProbLog" title="ProbLog">ProbLog</a> (a logic language).<sup id="cite_ref-whitepaper2015_200-0" class="reference"><a href="#cite_note-whitepaper2015-200"><span class="cite-bracket">[</span>197<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-201" class="reference"><a href="#cite_note-201"><span class="cite-bracket">[</span>198<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-202" class="reference"><a href="#cite_note-202"><span class="cite-bracket">[</span>199<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-203" class="reference"><a href="#cite_note-203"><span class="cite-bracket">[</span>200<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ProbLogConcepts_204-0" class="reference"><a href="#cite_note-ProbLogConcepts-204"><span class="cite-bracket">[</span>201<span class="cite-bracket">]</span></a></sup> As a scripting language with a <a href="Modular_programming" title="Modular programming">modular architecture</a>, simple syntax, and rich text processing tools, Python is often used for <a href="Natural_language_processing" title="Natural language processing">natural language processing</a>.<sup id="cite_ref-AutoNT-47_205-0" class="reference"><a href="#cite_note-AutoNT-47-205"><span class="cite-bracket">[</span>202<span class="cite-bracket">]</span></a></sup>
</p><p>The combination of Python and <a href="Prolog" title="Prolog">Prolog</a> has proven useful for AI applications, with Prolog providing knowledge representation and reasoning capabilities. The Janus system, in particular, exploits similarities between these two languages, in part because of their dynamic typing and their simple, recursive data structures. This combination is typically applied natural language processing, visual query answering, geospatial reasoning, and handling semantic web data.<sup id="cite_ref-206" class="reference"><a href="#cite_note-206"><span class="cite-bracket">[</span>203<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-207" class="reference"><a href="#cite_note-207"><span class="cite-bracket">[</span>204<span class="cite-bracket">]</span></a></sup>
The Natlog system, implemented in Python, uses <a href="Definite_clause_grammar" title="Definite clause grammar">Definite Clause Grammars</a> (DCGs) to create prompts for two types of generators: text-to-text generators such as GPT3, and text-to-image generators such as DALL-E or Stable Diffusion.<sup id="cite_ref-208" class="reference"><a href="#cite_note-208"><span class="cite-bracket">[</span>205<span class="cite-bracket">]</span></a></sup>
</p><p>Python can be used for graphical user interfaces (GUIs), by using libraries such as <a href="Tkinter" title="Tkinter">Tkinter</a>.<sup id="cite_ref-209" class="reference"><a href="#cite_note-209"><span class="cite-bracket">[</span>206<span class="cite-bracket">]</span></a></sup> Similarly, for the <a href="One_Laptop_per_Child" title="One Laptop per Child">One Laptop per Child</a> XO computer, most of the <a href="Sugar_(software)" class="mw-redirect" title="Sugar (software)">Sugar</a> desktop environment is written in Python (as of 2008).<sup id="cite_ref-210" class="reference"><a href="#cite_note-210"><span class="cite-bracket">[</span>207<span class="cite-bracket">]</span></a></sup>
</p><p>Python is embedded in many software products (and some hardware products) as a scripting language. These products include the following:
</p>
<ul><li><a href="Finite_element_method" title="Finite element method">finite element method</a> software such as <a href="Abaqus" title="Abaqus">Abaqus</a>,</li>
<li>3D parametric modelers such as <a href="FreeCAD" title="FreeCAD">FreeCAD</a>,</li>
<li>3D animation packages such as <a href="3ds_Max" class="mw-redirect" title="3ds Max">3ds Max</a>, <a href="Blender_(software)" title="Blender (software)">Blender</a>, <a href="Cinema_4D" title="Cinema 4D">Cinema 4D</a>, <a href="LightWave_3D" title="LightWave 3D">Lightwave</a>, <a href="Houdini_(software)" title="Houdini (software)">Houdini</a>, <a href="Maya_(software)" class="mw-redirect" title="Maya (software)">Maya</a>, <a href="Modo_(software)" title="Modo (software)">modo</a>, <a href="MotionBuilder" class="mw-redirect" title="MotionBuilder">MotionBuilder</a>, <a href="Autodesk_Softimage" title="Autodesk Softimage">Softimage</a>,</li>
<li>the visual effects compositor <a href="Nuke_(software)" title="Nuke (software)">Nuke</a>,</li>
<li>2D imaging programs such as <a href="GIMP" title="GIMP">GIMP</a>,<sup id="cite_ref-211" class="reference"><a href="#cite_note-211"><span class="cite-bracket">[</span>208<span class="cite-bracket">]</span></a></sup> <a href="Inkscape" title="Inkscape">Inkscape</a>, <a href="Scribus" title="Scribus">Scribus</a> and <a href="Paint_Shop_Pro" class="mw-redirect" title="Paint Shop Pro">Paint Shop Pro</a>,<sup id="cite_ref-AutoNT-38_212-0" class="reference"><a href="#cite_note-AutoNT-38-212"><span class="cite-bracket">[</span>209<span class="cite-bracket">]</span></a></sup> and</li>
<li><a href="Musical_notation" title="Musical notation">musical notation</a> programs such as <a href="Scorewriter" title="Scorewriter">scorewriter</a> and <a href="Capella_(notation_program)" title="Capella (notation program)">capella</a>.</li></ul>
<p>Similarly, <a href="GNU_Debugger" title="GNU Debugger">GNU Debugger</a> uses Python as a <a href="Pretty_printer" class="mw-redirect" title="Pretty printer">pretty printer</a> to show complex structures such as C++ containers. <a href="Esri" title="Esri">Esri</a> promotes Python as the best choice for writing scripts in <a href="ArcGIS" title="ArcGIS">ArcGIS</a>.<sup id="cite_ref-AutoNT-39_213-0" class="reference"><a href="#cite_note-AutoNT-39-213"><span class="cite-bracket">[</span>210<span class="cite-bracket">]</span></a></sup> Python has also been used in several video games,<sup id="cite_ref-AutoNT-40_214-0" class="reference"><a href="#cite_note-AutoNT-40-214"><span class="cite-bracket">[</span>211<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-41_215-0" class="reference"><a href="#cite_note-AutoNT-41-215"><span class="cite-bracket">[</span>212<span class="cite-bracket">]</span></a></sup> and it has been adopted as first of the three <a href="Programming_language" title="Programming language">programming languages</a> available in <a href="Google_App_Engine" title="Google App Engine">Google App Engine</a> (the other two being <a href="Java_(software_platform)" title="Java (software platform)">Java</a> and <a href="Go_(programming_language)" title="Go (programming language)">Go</a>).<sup id="cite_ref-AutoNT-42_216-0" class="reference"><a href="#cite_note-AutoNT-42-216"><span class="cite-bracket">[</span>213<span class="cite-bracket">]</span></a></sup> <a href="LibreOffice" title="LibreOffice">LibreOffice</a> includes Python, and its developers plan to replace Java with Python; LibreOffice's Python Scripting Provider is a core feature<sup id="cite_ref-217" class="reference"><a href="#cite_note-217"><span class="cite-bracket">[</span>214<span class="cite-bracket">]</span></a></sup> since version 4.0 (from 7 February 2013).
</p><p>Among hardware products, the <a href="Raspberry_Pi" title="Raspberry Pi">Raspberry Pi</a> <a href="Single-board_computer" title="Single-board computer">single-board computer</a> project has adopted Python as its main user-programming language.
</p><p>Many operating systems include Python as a standard component. Python ships with most <a href="Linux_distribution" title="Linux distribution">Linux distributions</a>,<sup id="cite_ref-218" class="reference"><a href="#cite_note-218"><span class="cite-bracket">[</span>215<span class="cite-bracket">]</span></a></sup> <a href="AmigaOS_4" title="AmigaOS 4">AmigaOS 4</a> (using Python&nbsp;2.7), <a href="FreeBSD" title="FreeBSD">FreeBSD</a> (as a package), <a href="NetBSD" title="NetBSD">NetBSD</a>, and <a href="OpenBSD" title="OpenBSD">OpenBSD</a> (as a package); it can be used from the command line (terminal). Many Linux distributions use installers written in Python: <a href="Ubuntu" title="Ubuntu">Ubuntu</a> uses the <a href="Ubiquity_(software)" title="Ubiquity (software)">Ubiquity</a> installer, while <a href="Red_Hat_Linux" title="Red Hat Linux">Red Hat Linux</a> and <a href="Fedora_Linux" title="Fedora Linux">Fedora Linux</a> use the <a href="Anaconda_(installer)" title="Anaconda (installer)">Anaconda</a> installer. <a href="Gentoo_Linux" title="Gentoo Linux">Gentoo Linux</a> uses Python in its <a href="Package_management_system" class="mw-redirect" title="Package management system">package management system</a>, <a href="Portage_(software)" title="Portage (software)">Portage</a>.<sup id="cite_ref-AutoNT-51_219-0" class="reference"><a href="#cite_note-AutoNT-51-219"><span class="cite-bracket">[</span>216<span class="cite-bracket">]</span></a></sup>
</p><p>Python is used extensively in the information security industry, including in exploit development.<sup id="cite_ref-AutoNT-49_220-0" class="reference"><a href="#cite_note-AutoNT-49-220"><span class="cite-bracket">[</span>217<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AutoNT-50_221-0" class="reference"><a href="#cite_note-AutoNT-50-221"><span class="cite-bracket">[</span>218<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Languages_influenced_by_Python">Languages influenced by Python</h2></div>
<p>Python's design and philosophy have influenced many other programming languages:
</p>
<ul><li><a href="Boo_(programming_language)" title="Boo (programming language)">Boo</a> uses indentation, a similar syntax, and a similar object model.<sup id="cite_ref-AutoNT-90_222-0" class="reference"><a href="#cite_note-AutoNT-90-222"><span class="cite-bracket">[</span>219<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Cobra_(programming_language)" title="Cobra (programming language)">Cobra</a> uses indentation and a similar syntax; its <i>Acknowledgements</i> document lists Python first among influencing languages.<sup id="cite_ref-AutoNT-91_223-0" class="reference"><a href="#cite_note-AutoNT-91-223"><span class="cite-bracket">[</span>220<span class="cite-bracket">]</span></a></sup></li>
<li><a href="CoffeeScript" title="CoffeeScript">CoffeeScript</a>, a programming language that cross-compiles to JavaScript, has a Python-inspired syntax.</li>
<li><a href="ECMAScript" title="ECMAScript">ECMAScript</a>–<a href="JavaScript" title="JavaScript">JavaScript</a> borrowed iterators and <a href="Generator_(computer_science)" class="mw-redirect" title="Generator (computer science)">generators</a> from Python.<sup id="cite_ref-AutoNT-93_224-0" class="reference"><a href="#cite_note-AutoNT-93-224"><span class="cite-bracket">[</span>221<span class="cite-bracket">]</span></a></sup></li>
<li><a href="GDScript" class="mw-redirect" title="GDScript">GDScript</a>, a Python-like scripting language that is built in to the <a href="Godot_(game_engine)" title="Godot (game engine)">Godot</a> game engine.<sup id="cite_ref-225" class="reference"><a href="#cite_note-225"><span class="cite-bracket">[</span>222<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Go_(programming_language)" title="Go (programming language)">Go</a> is designed for "speed of working in a dynamic language like Python";<sup id="cite_ref-AutoNT-94_226-0" class="reference"><a href="#cite_note-AutoNT-94-226"><span class="cite-bracket">[</span>223<span class="cite-bracket">]</span></a></sup> Go shares Python's syntax for slicing arrays.</li>
<li><a href="Groovy_(programming_language)" class="mw-redirect" title="Groovy (programming language)">Groovy</a> was motivated by a desire to incorporate the Python design philosophy into <a href="Java_(programming_language)" title="Java (programming language)">Java</a>.<sup id="cite_ref-AutoNT-95_227-0" class="reference"><a href="#cite_note-AutoNT-95-227"><span class="cite-bracket">[</span>224<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a> was designed to be "as usable for general programming as Python".<sup id="cite_ref-Julia_30-1" class="reference"><a href="#cite_note-Julia-30"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Mojo_(programming_language)" title="Mojo (programming language)">Mojo</a> is a non-strict<sup id="cite_ref-Mojo_31-1" class="reference"><a href="#cite_note-Mojo-31"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-228" class="reference"><a href="#cite_note-228"><span class="cite-bracket">[</span>225<span class="cite-bracket">]</span></a></sup> superset of Python (e.g., omitting classes, and adding <a href="Struct" class="mw-redirect" title="Struct">struct</a>).<sup id="cite_ref-229" class="reference"><a href="#cite_note-229"><span class="cite-bracket">[</span>226<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Nim_(programming_language)" title="Nim (programming language)">Nim</a> uses indentation and a similar syntax.<sup id="cite_ref-230" class="reference"><a href="#cite_note-230"><span class="cite-bracket">[</span>227<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>'s creator, <a href="Yukihiro_Matsumoto" title="Yukihiro Matsumoto">Yukihiro Matsumoto</a>, said that "I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language."<sup id="cite_ref-linuxdevcenter_231-0" class="reference"><a href="#cite_note-linuxdevcenter-231"><span class="cite-bracket">[</span>228<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Swift_(programming_language)" title="Swift (programming language)">Swift</a>, a programming language developed by Apple, has some Python-inspired syntax.<sup id="cite_ref-232" class="reference"><a href="#cite_note-232"><span class="cite-bracket">[</span>229<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a> blends Python and Java features, which minimizes boilerplate code and enhances developer efficiency.<sup id="cite_ref-233" class="reference"><a href="#cite_note-233"><span class="cite-bracket">[</span>230<span class="cite-bracket">]</span></a></sup></li></ul>
<p>Python's development practices have also been emulated by other languages. For example, Python requires a document that describes the rationale and context for any language change; this document is known as a <i>Python Enhancement Proposal</i> or PEP. This practice is also used by the developers of <a href="Tcl" title="Tcl">Tcl</a>,<sup id="cite_ref-AutoNT-99_234-0" class="reference"><a href="#cite_note-AutoNT-99-234"><span class="cite-bracket">[</span>231<span class="cite-bracket">]</span></a></sup> <a href="Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a>,<sup id="cite_ref-AutoNT-100_235-0" class="reference"><a href="#cite_note-AutoNT-100-235"><span class="cite-bracket">[</span>232<span class="cite-bracket">]</span></a></sup> and Swift.<sup id="cite_ref-236" class="reference"><a href="#cite_note-236"><span class="cite-bracket">[</span>233<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */


.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}


/* end https://en.wikipedia.org/ */
</style>
<ul><li><a href="Python_syntax_and_semantics" title="Python syntax and semantics">Python syntax and semantics</a></li>
<li><a href="Pip_(package_manager)" title="Pip (package manager)">pip (package manager)</a></li>
<li><a href="List_of_programming_languages" title="List of programming languages">List of programming languages</a></li>
<li><a href="History_of_programming_languages" title="History of programming languages">History of programming languages</a></li>
<li><a href="Comparison_of_programming_languages" title="Comparison of programming languages">Comparison of programming languages</a></li></ul>
<div style="clear:both;" class=""></div>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-lower-alpha">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">since 3.5, but those hints are ignored, except with unofficial tools<sup id="cite_ref-type_hint-PEP_5-0" class="reference"><a href="#cite_note-type_hint-PEP-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">
<ul><li><b>Tier 1</b>: 64-bit <a href="Linux" title="Linux">Linux</a>, <a href="MacOS" title="MacOS">macOS</a>; 64- and 32-bit <a href="Windows" class="mw-redirect" title="Windows">Windows</a> 10+<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li><b>Tier 2</b>: E.g. 32-bit <a href="WebAssembly" title="WebAssembly">WebAssembly</a> (WASI)</li>
<li><b>Tier 3</b>: 64-bit <a href="Android_(operating_system)" title="Android (operating system)">Android</a>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> <a href="IOS" title="IOS">iOS</a>, <a href="FreeBSD" title="FreeBSD">FreeBSD</a>, and (32-bit) <a href="Raspberry_Pi_OS" title="Raspberry Pi OS">Raspberry Pi OS</a><br>Unofficial (or has been known to work): Other <a href="Unix-like" title="Unix-like">Unix-like</a>/<a href="BSD" class="mw-redirect" title="BSD">BSD</a> variants) and a few other platforms<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></li></ul>
</span></li>
<li id="cite_note-86"><span class="mw-cite-backlink"><b><a href="#cite_ref-86">^</a></b></span> <span class="reference-text"><code>del</code> in Python does not behave the same way <code>delete</code> in languages such as <a href="C%2B%2B" title="C++">C++</a> does, where such a word is used to call the <a href="Destructor_(computer_programming)" title="Destructor (computer programming)">destructor</a> and deallocate heap memory.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist reflist-columns references-column-width" style="column-width: 25em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/faq/general.html#what-is-python">"General Python FAQ – Python 3 documentation"</a>. <i>docs.python.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 July</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-alt-sources-history-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-alt-sources-history_2-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html">"Python 0.9.1 part 01/21"</a>. alt.sources archives. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210811171015/https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html">Archived</a> from the original on 11 August 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">11 August</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-wikidata-48a861e4891ff02557896048efdb91c8c18603ae-v20-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-48a861e4891ff02557896048efdb91c8c18603ae-v20_3-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://pythoninsider.blogspot.com/2025/08/python-3136-is-now-available.html">"Python 3.13.6 is now available"</a>. 6 August 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">7 August</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%20strongly%20typed%20language">"Why is Python a dynamic language and also a strongly typed language"</a>. <i>Python Wiki</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210314173706/https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%20strongly%20typed%20language">Archived</a> from the original on 14 March 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">27 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-type_hint-PEP-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-type_hint-PEP_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-type_hint-PEP_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0483/">"PEP 483 – The Theory of Type Hints"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614153558/https://www.python.org/dev/peps/pep-0483/">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">14 June</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://peps.python.org/pep-0011/">"PEP 11 – CPython platform support | peps.python.org"</a>. <i>Python Enhancement Proposals (PEPs)</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 April</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://peps.python.org/pep-0738/">"PEP 738 – Adding Android as a supported platform | peps.python.org"</a>. <i>Python Enhancement Proposals (PEPs)</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 May</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/download/other/">"Download Python for Other Platforms"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201127015815/https://www.python.org/download/other/">Archived</a> from the original on 27 November 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">18 August</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.7/library/test.html?highlight=android#test.support.is_android">"test – Regression tests package for Python – Python 3.7.13 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220517151240/https://docs.python.org/3.7/library/test.html?highlight=android#test.support.is_android">Archived</a> from the original on 17 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/platform.html?highlight=android">"platform – Access to underlying platform's identifying data – Python 3.10.4 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220517150826/https://docs.python.org/3/library/platform.html?highlight=android">Archived</a> from the original on 17 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFHolth2014" class="citation web cs1">Holth, Moore (30 March 2014). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0441/">"PEP 0441 – Improving Python ZIP Application Support"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181226141117/https://www.python.org/dev/peps/pep-0441/%20">Archived</a> from the original on 26 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">12 November</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.bazel.build/versions/master/skylark/language.html">"Starlark Language"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615140534/https://docs.bazel.build/versions/master/skylark/language.html">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">25 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-faq-created-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-faq-created_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-faq-created_15-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/faq/general.html#why-was-python-created-in-the-first-place">"Why was Python created in the first place?"</a>. <i>General Python FAQ</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121024164224/http://docs.python.org/faq/general.html#why-was-python-created-in-the-first-place">Archived</a> from the original on 24 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2007</span>. <q>I had extensive experience with implementing an interpreted language in the ABC group at CWI, and from working with this group I had learned a lot about language design. This is the origin of many Python features, including the use of indentation for statement grouping and the inclusion of very high-level data types (although the details are all different in Python).</q></cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20191022155758/http://archive.adaic.com/standards/83lrm/html/lrm-11-03.html#11.3">"Ada 83 Reference Manual (raise statement)"</a>. Archived from <a rel="nofollow" class="external text" href="https://archive.adaic.com/standards/83lrm/html/lrm-11-03.html#11.3">the original</a> on 22 October 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">7 January</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-98-interview-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-98-interview_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-98-interview_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFKuchling2006" class="citation web cs1">Kuchling, Andrew M. (22 December 2006). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070501105422/http://www.amk.ca/python/writing/gvr-interview">"Interview with Guido van Rossum (July 1998)"</a>. <i>amk.ca</i>. Archived from <a rel="nofollow" class="external text" href="http://www.amk.ca/python/writing/gvr-interview">the original</a> on 1 May 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">12 March</span> 2012</span>. <q>I'd spent a summer at DEC's Systems Research Center, which introduced me to Modula-2+; the Modula-3 final report was being written there at about the same time. What I learned there later showed up in Python's exception handling, modules, and the fact that methods explicitly contain 'self' in their parameter list. String slicing came from Algol-68 and Icon.</q></cite></span>
</li>
<li id="cite_note-python.org-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-python.org_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-python.org_18-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-python.org_18-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/itertools.html">"itertools – Functions creating iterators for efficient looping – Python 3.7.1 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614153629/https://docs.python.org/3/library/itertools.html">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 November</span> 2016</span>. <q>This module implements a number of iterator building blocks inspired by constructs from APL, Haskell, and SML.</q></cite></span>
</li>
<li id="cite_note-AutoNT-1-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-1_19-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum1993" class="citation journal cs1">van Rossum, Guido (1993). "An Introduction to Python for UNIX/C Programmers". <i>Proceedings of the NLUUG Najaarsconferentie (Dutch UNIX Users Group)</i>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2023">10.1.1.38.2023</a></span>. <q>even though the design of C is far from ideal, its influence on Python is considerable.</q></cite></span>
</li>
<li id="cite_note-classmix-20"><span class="mw-cite-backlink">^ <a href="#cite_ref-classmix_20-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-classmix_20-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/tutorial/classes.html">"Classes"</a>. <i>The Python Tutorial</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121023030209/http://docs.python.org/tutorial/classes.html">Archived</a> from the original on 23 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">20 February</span> 2012</span>. <q>It is a mixture of the class mechanisms found in C++ and Modula-3</q></cite></span>
</li>
<li id="cite_note-effbot-call-by-object-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-effbot-call-by-object_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLundh" class="citation web cs1">Lundh, Fredrik. <a rel="nofollow" class="external text" href="http://effbot.org/zone/call-by-object.htm">"Call By Object"</a>. <i>effbot.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191123043655/http://effbot.org/zone/call-by-object.htm">Archived</a> from the original on 23 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">21 November</span> 2017</span>. <q>replace "CLU" with "Python", "record" with "instance", and "procedure" with "function or method", and you get a pretty accurate description of Python's object model.</q></cite></span>
</li>
<li id="cite_note-AutoNT-2-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-2_22-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSimionato" class="citation web cs1">Simionato, Michele. <a rel="nofollow" class="external text" href="https://www.python.org/download/releases/2.3/mro/">"The Python 2.3 Method Resolution Order"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200820231854/https://www.python.org/download/releases/2.3/mro/">Archived</a> from the original on 20 August 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">29 July</span> 2014</span>. <q>The C3 method itself has nothing to do with Python, since it was invented by people working on Dylan and it is described in a paper intended for lispers</q></cite></span>
</li>
<li id="cite_note-AutoNT-3-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-3_23-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKuchling" class="citation web cs1">Kuchling, A. M. <a rel="nofollow" class="external text" href="https://docs.python.org/howto/functional.html">"Functional Programming HOWTO"</a>. <i>Python v2.7.2 documentation</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121024163217/http://docs.python.org/howto/functional.html">Archived</a> from the original on 24 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>. <q>List comprehensions and generator expressions [...] are a concise notation for such operations, borrowed from the functional programming language Haskell.</q></cite></span>
</li>
<li id="cite_note-AutoNT-4-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-4_24-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchemenauerPetersHetland2001" class="citation web cs1">Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0255/">"PEP 255&nbsp;– Simple Generators"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605012926/https://www.python.org/dev/peps/pep-0255/">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-6-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-6_25-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.2/tutorial/controlflow.html">"More Control Flow Tools"</a>. <i>Python 3 documentation</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160604080843/https://docs.python.org/3.2/tutorial/controlflow.html">Archived</a> from the original on 4 June 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">24 July</span> 2015</span>. <q>By popular demand, a few features commonly found in functional programming languages like Lisp have been added to Python. With the lambda keyword, small anonymous functions can be created.</q></cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/re.html">"re – Regular expression operations – Python 3.10.6 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180718132241/https://docs.python.org/3/library/re.html">Archived</a> from the original on 18 July 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">6 September</span> 2022</span>. <q>This module provides regular expression matching operations similar to those found in Perl.</q></cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://coffeescript.org/">"CoffeeScript"</a>. <i>coffeescript.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200612100004/http://coffeescript.org/">Archived</a> from the original on 12 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 July</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.2ality.com/2013/02/javascript-influences.html">"Perl and Python influences in JavaScript"</a>. <i>www.2ality.com</i>. 24 February 2013. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181226141121/http://2ality.com/2013/02/javascript-influences.html%0A">Archived</a> from the original on 26 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">15 May</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite id="CITEREFRauschmayer" class="citation web cs1">Rauschmayer, Axel. <a rel="nofollow" class="external text" href="http://speakingjs.com/es5/ch03.html">"Chapter 3: The Nature of JavaScript; Influences"</a>. <i>O'Reilly, Speaking JavaScript</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181226141123/http://speakingjs.com/es5/ch03.html%0A">Archived</a> from the original on 26 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">15 May</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-Julia-30"><span class="mw-cite-backlink">^ <a href="#cite_ref-Julia_30-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Julia_30-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://julialang.org/blog/2012/02/why-we-created-julia">"Why We Created Julia"</a>. <i>Julia website</i>. February 2012. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200502144010/https://julialang.org/blog/2012/02/why-we-created-julia/">Archived</a> from the original on 2 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2014</span>. <q>We want something as usable for general programming as Python [...]</q></cite></span>
</li>
<li id="cite_note-Mojo-31"><span class="mw-cite-backlink">^ <a href="#cite_ref-Mojo_31-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Mojo_31-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFKrill2023" class="citation web cs1">Krill, Paul (4 May 2023). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-development.html">"Mojo language marries Python and MLIR for AI development"</a>. <i>InfoWorld</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230505064554/https://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-development.html">Archived</a> from the original on 5 May 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">5 May</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-The_Ring_programming_language_and_other_languages-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-The_Ring_programming_language_and_other_languages_32-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRing_Team2017" class="citation web cs1">Ring Team (4 December 2017). <a rel="nofollow" class="external text" href="https://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages">"Ring and other languages"</a>. <i>ring-lang.net</i>. ring-lang. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages">Archived</a> from the original on 25 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">4 December</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-bini-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-bini_33-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBini2007" class="citation book cs1">Bini, Ola (2007). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/practicaljrubyon0000bini/page/3"><i>Practical JRuby on Rails Web 2.0 Projects: bringing Ruby on Rails to the Java platform</i></a></span>. Berkeley: APress. p.&nbsp;<a rel="nofollow" class="external text" href="https://archive.org/details/practicaljrubyon0000bini/page/3">3</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-59059-881-8</bdi>.</cite></span>
</li>
<li id="cite_note-lattner2014-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-lattner2014_34-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLattner2014" class="citation web cs1">Lattner, Chris (3 June 2014). <a rel="nofollow" class="external text" href="http://nondot.org/sabre/">"Chris Lattner's Homepage"</a>. Chris Lattner. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181225175312/http://nondot.org/sabre/">Archived</a> from the original on 25 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">3 June</span> 2014</span>. <q>The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.</q></cite></span>
</li>
<li id="cite_note-vpeople-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-vpeople_35-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/vlang/v/blob/master/doc/docs.md#introduction">"V documentation (Introduction)"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">24 December</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-7-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-7_36-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKuhlman" class="citation web cs1">Kuhlman, Dave. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120623165941/http://cutter.rexx.com/~dkuhlman/python_book_01.html">"A Python Book: Beginning Python, Advanced Python, and Python Exercises"</a>. Section 1.1. Archived from <a rel="nofollow" class="external text" href="https://www.davekuhlman.org/python_book_01.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 23 June 2012.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite id="CITEREFRossum2009" class="citation web cs1">Rossum, Guido Van (20 January 2009). <a rel="nofollow" class="external text" href="https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html">"The History of Python: A Brief Timeline of Python"</a>. <i>The History of Python</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605032200/https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">5 March</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite id="CITEREFPeterson2020" class="citation web cs1">Peterson, Benjamin (20 April 2020). <a rel="nofollow" class="external text" href="https://pythoninsider.blogspot.com/2020/04/python-2718-last-release-of-python-2.html">"Python 2.7.18, the last release of Python 2"</a>. <i>Python Insider</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200426204118/https://pythoninsider.blogspot.com/2020/04/python-2718-last-release-of-python-2.html">Archived</a> from the original on 26 April 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">27 April</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://survey.stackoverflow.co/2022/">"Stack Overflow Developer Survey 2022"</a>. <i>Stack Overflow</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220627175307/https://survey.stackoverflow.co/2022/">Archived</a> from the original on 27 June 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">12 August</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jetbrains.com/lp/devecosystem-2020/">"The State of Developer Ecosystem in 2020 Infographic"</a>. <i>JetBrains: Developer Tools for Professionals and Teams</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210301062411/https://www.jetbrains.com/lp/devecosystem-2020/">Archived</a> from the original on 1 March 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">5 March</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-tiobecurrent-41"><span class="mw-cite-backlink">^ <a href="#cite_ref-tiobecurrent_41-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tiobecurrent_41-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.tiobe.com/tiobe-index/">"TIOBE Index"</a>. TIOBE. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180225101948/https://www.tiobe.com/tiobe-index/">Archived</a> from the original on 25 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">3 January</span> 2023</span>. <q>The TIOBE Programming Community index is an indicator of the popularity of programming languages</q></cite> Updated as required.</span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite id="CITEREFHealyMcInnesWeir2017" class="citation journal cs1">Healy, John; McInnes, Leland; Weir, Colin (2017). <a rel="nofollow" class="external text" href="https://www.jstor.org/stable/26267404">"Bridging the Cyber-Analysis Gap: The Democratization of Data Science"</a>. <i>The Cyber Defense Review</i>. <b>2</b> (1): <span class="nowrap">109–</span>118. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F26267404">10.2307/26267404</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&nbsp;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/2474-2120">2474-2120</a>. <q>Python is the lingua franca of data science and machine learning.</q></cite></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><cite id="CITEREFSultanaReed2017" class="citation journal cs1">Sultana, Simon G.; Reed, Philip A. (2017). <a rel="nofollow" class="external text" href="https://www.jstor.org/stable/90023144">"Curriculum for an Introductory Computer Science Course: Identifying Recommendations from Academia and Industry"</a>. <i>The Journal of Technology Studies</i>. <b>43</b> (2): <span class="nowrap">80–</span>92. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F90023144">10.2307/90023144</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&nbsp;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1071-6084">1071-6084</a>.</cite></span>
</li>
<li id="cite_note-venners-interview-pt-1-44"><span class="mw-cite-backlink">^ <a href="#cite_ref-venners-interview-pt-1_44-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-venners-interview-pt-1_44-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFVenners2003" class="citation web cs1">Venners, Bill (13 January 2003). <a rel="nofollow" class="external text" href="http://www.artima.com/intv/pythonP.html">"The Making of Python"</a>. <i>Artima Developer</i>. Artima. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160901183332/http://www.artima.com/intv/pythonP.html">Archived</a> from the original on 1 September 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2007</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-12-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-12_45-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum2000" class="citation mailinglist cs1"><a href="Guido_van_Rossum" title="Guido van Rossum">van Rossum, Guido</a> (29 August 2000). <a rel="nofollow" class="external text" href="https://mail.python.org/pipermail/python-dev/2000-August/008881.html">"SETL (was: Lukewarm about range literals)"</a>. <i>Python-Dev</i> (Mailing list). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180714064019/https://mail.python.org/pipermail/python-dev/2000-August/008881.html">Archived</a> from the original on 14 July 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">13 March</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-timeline-of-python-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-timeline-of-python_46-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum2009" class="citation web cs1">van Rossum, Guido (20 January 2009). <a rel="nofollow" class="external text" href="https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html">"A Brief Timeline of Python"</a>. <i>The History of Python</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605032200/https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">20 January</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-lj-bdfl-resignation-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-lj-bdfl-resignation_47-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFairchild2018" class="citation magazine cs1">Fairchild, Carlie (12 July 2018). <a rel="nofollow" class="external text" href="https://www.linuxjournal.com/content/guido-van-rossum-stepping-down-role-pythons-benevolent-dictator-life">"Guido van Rossum Stepping Down from Role as Python's Benevolent Dictator For Life"</a>. <i>Linux Journal</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180713192427/https://www.linuxjournal.com/content/guido-van-rossum-stepping-down-role-pythons-benevolent-dictator-life">Archived</a> from the original on 13 July 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-8100/">"PEP 8100"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604235027/https://www.python.org/dev/peps/pep-8100/">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">4 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0013/">"PEP 13 – Python Language Governance"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210527000035/https://www.python.org/dev/peps/pep-0013/">Archived</a> from the original on 27 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">25 August</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-:0-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_50-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBriggsLipovača2013" class="citation book cs1">Briggs, Jason R.; Lipovača, Miran (2013). <i>Python for kids: a playful introduction to programming</i>. San Francisco, Calif: No Starch Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-59327-407-8</bdi>.</cite></span>
</li>
<li id="cite_note-newin-2.0-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-newin-2.0_51-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKuchlingZadka2000" class="citation web cs1">Kuchling, A. M.; Zadka, Moshe (16 October 2000). <a rel="nofollow" class="external text" href="https://docs.python.org/whatsnew/2.0.html">"What's New in Python 2.0"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121023112045/http://docs.python.org/whatsnew/2.0.html">Archived</a> from the original on 23 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://legacy.python.org/dev/peps/pep-0373/">"PEP 373 – Python 2.7 Release Schedule"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200519075520/https://legacy.python.org/dev/peps/pep-0373/">Archived</a> from the original on 19 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">9 January</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0466/">"PEP 466 – Network Security Enhancements for Python 2.7.x"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604232833/https://www.python.org/dev/peps/pep-0466/">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">9 January</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/doc/sunset-python-2/">"Sunsetting Python 2"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200112080903/https://www.python.org/doc/sunset-python-2/">Archived</a> from the original on 12 January 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 September</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0373/">"PEP 373 – Python 2.7 Release Schedule"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200113033257/https://www.python.org/dev/peps/pep-0373/">Archived</a> from the original on 13 January 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 September</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><cite id="CITEREFmattip2023" class="citation web cs1">mattip (25 December 2023). <a rel="nofollow" class="external text" href="https://www.pypy.org/posts/2023/12/pypy-v7314-release.html">"PyPy v7.3.14 release"</a>. <i>PyPy</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240105132820/https://www.pypy.org/posts/2023/12/pypy-v7314-release.html">Archived</a> from the original on 5 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">5 January</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://devguide.python.org/versions/">"Status of Python versions"</a>. <i>Python Developer's Guide</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 August</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-13-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-13_58-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFThe_Cain_Gang_Ltd." class="citation web cs1">The Cain Gang Ltd. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090530030205/http://www.python.org/community/pycon/dc2004/papers/24/metaclasses-pycon.pdf">"Python Metaclasses: Who? Why? When?"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="https://www.python.org/community/pycon/dc2004/papers/24/metaclasses-pycon.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 30 May 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-14-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-14_59-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.0/reference/datamodel.html#special-method-names">"3.3. Special method names"</a>. <i>The Python Language Reference</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181215123146/https://docs.python.org/3.0/reference/datamodel.html#special-method-names">Archived</a> from the original on 15 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-15-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-15_60-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.nongnu.org/pydbc/">"PyDBC: method preconditions, method postconditions and class invariants for Python"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191123231931/http://www.nongnu.org/pydbc/">Archived</a> from the original on 23 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-16-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-16_61-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.wayforward.net/pycontract/">"Contracts for Python"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615173404/http://www.wayforward.net/pycontract/">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-17-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-17_62-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://sites.google.com/site/pydatalog/">"PyDatalog"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200613160231/https://sites.google.com/site/pydatalog/">Archived</a> from the original on 13 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 July</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-63">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/doc/essays/omg-darpa-mcc-position/">"Glue It All Together With Python"</a>. <i>Python.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">30 September</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-Reference_counting-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-Reference_counting_64-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/extending/extending.html#reference-counts">"Extending and Embedding the Python Interpreter: Reference Counts"</a>. Docs.python.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121018063230/http://docs.python.org/extending/extending.html#reference-counts">Archived</a> from the original on 18 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2020</span>. <q>Since Python makes heavy use of <code>malloc()</code> and <code>free()</code>, it needs a strategy to avoid memory leaks as well as the use of freed memory. The chosen method is called <i>reference counting</i>.</q></cite></span>
</li>
<li id="cite_note-AutoNT-59-65"><span class="mw-cite-backlink">^ <a href="#cite_ref-AutoNT-59_65-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-AutoNT-59_65-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHettinger2002" class="citation web cs1">Hettinger, Raymond (30 January 2002). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0289/">"PEP 289&nbsp;– Generator Expressions"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614153717/https://www.python.org/dev/peps/pep-0289/">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-18-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-18_66-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/itertools.html">"6.5 itertools&nbsp;– Functions creating iterators for efficient looping"</a>. Docs.python.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614153629/https://docs.python.org/3/library/itertools.html">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 November</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-PEP20-67"><span class="mw-cite-backlink">^ <a href="#cite_ref-PEP20_67-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-PEP20_67-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPeters2004" class="citation web cs1">Peters, Tim (19 August 2004). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0020/">"PEP 20&nbsp;– The Zen of Python"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181226141127/https://www.python.org/dev/peps/pep-0020/">Archived</a> from the original on 26 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-Python-Changes-2014-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-Python-Changes-2014_68-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLutz2022" class="citation web cs1">Lutz, Mark (January 2022). <a rel="nofollow" class="external text" href="https://learning-python.com/python-changes-2014-plus.html">"Python Changes 2014+"</a>. <i>Learning Python</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240315075935/https://learning-python.com/python-changes-2014-plus.html">Archived</a> from the original on 15 March 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-Confusion-regarding-a-rule-in-the-Zen-of-Python-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-Confusion-regarding-a-rule-in-the-Zen-of-Python_69-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://discuss.python.org/t/confusion-regarding-a-rule-in-the-zen-of-python/15927">"Confusion regarding a rule in The Zen of Python"</a>. <i>Python Help - Discussions on Python.org</i>. 3 May 2022. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240225221142/https://discuss.python.org/t/confusion-regarding-a-rule-in-the-zen-of-python/15927">Archived</a> from the original on 25 February 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-The-Most-Controversial-Python-Walrus-Operator-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-The-Most-Controversial-Python-Walrus-Operator_70-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFAmbi2021" class="citation web cs1">Ambi, Chetan (4 July 2021). <a rel="nofollow" class="external text" href="https://pythonsimplified.com/the-most-controversial-python-walrus-operator/">"The Most Controversial Python Walrus Operator"</a>. <i>Python Simplified</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230827154931/https://pythonsimplified.com/the-most-controversial-python-walrus-operator/">Archived</a> from the original on 27 August 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">5 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-The-Controversy-Behind-The-Walrus-Operator-in-Python-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-The-Controversy-Behind-The-Walrus-Operator-in-Python_71-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGrifski2020" class="citation web cs1">Grifski, Jeremy (24 May 2020). <a rel="nofollow" class="external text" href="https://therenegadecoder.com/code/the-controversy-behind-the-walrus-operator-in-python/">"The Controversy Behind The Walrus Operator in Python"</a>. <i>The Renegade Coder</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231228135749/https://therenegadecoder.com/code/the-controversy-behind-the-walrus-operator-in-python/">Archived</a> from the original on 28 December 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-Python-String-Formatting-Best-Practices-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-Python-String-Formatting-Best-Practices_72-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBader" class="citation web cs1">Bader, Dan. <a rel="nofollow" class="external text" href="https://realpython.com/python-string-formatting/">"Python String Formatting Best Practices"</a>. <i>Real Python</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240218083506/https://realpython.com/python-string-formatting/">Archived</a> from the original on 18 February 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-19-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-19_73-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartelliRavenscroftAscher2005" class="citation book cs1">Martelli, Alex; Ravenscroft, Anna; Ascher, David (2005). <a rel="nofollow" class="external text" href="http://shop.oreilly.com/product/9780596007973.do"><i>Python Cookbook, 2nd Edition</i></a>. <a href="O'Reilly_Media" title="O'Reilly Media">O'Reilly Media</a>. p.&nbsp;230. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-596-00797-3</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200223171254/http://shop.oreilly.com/product/9780596007973.do">Archived</a> from the original on 23 February 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">14 November</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-20-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-20_74-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140130021902/http://ebeab.com/2014/01/21/python-culture/">"Python Culture"</a>. <i>ebeab</i>. 21 January 2014. Archived from <a rel="nofollow" class="external text" href="http://ebeab.com/2014/01/21/python-culture/">the original</a> on 30 January 2014.</cite></span>
</li>
<li id="cite_note-PyJL-75"><span class="mw-cite-backlink">^ <a href="#cite_ref-PyJL_75-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-PyJL_75-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.ist.utl.pt/antonio.menezes.leitao/ADA/documents/publications_docs/2022_TranspilingPythonToJuliaUsingPyJL.pdf">"Transpiling Python to Julia using PyJL"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231119071525/https://web.ist.utl.pt/antonio.menezes.leitao/ADA/documents/publications_docs/2022_TranspilingPythonToJuliaUsingPyJL.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 19 November 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">20 September</span> 2023</span>. <q>After manually modifying one line of code by specifying the necessary type information, we obtained a speedup of 52.6×, making the translated Julia code 19.5× faster than the original Python code.</q></cite></span>
</li>
<li id="cite_note-whyname-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-whyname_76-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/faq/general.html#why-is-it-called-python">"Why is it called Python?"</a>. <i>General Python FAQ</i>. Docs.python.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121024164224/http://docs.python.org/faq/general.html#why-is-it-called-python">Archived</a> from the original on 24 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">3 January</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-77">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20190511065650/http://insidetech.monster.com/training/articles/8114-15-ways-python-is-a-powerful-force-on-the-web">"15 Ways Python Is a Powerful Force on the Web"</a>. Archived from <a rel="nofollow" class="external text" href="https://insidetech.monster.com/training/articles/8114-15-ways-python-is-a-powerful-force-on-the-web">the original</a> on 11 May 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">3 July</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/pprint.html">"pprint – Data pretty printer – Python 3.11.0 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210122224848/https://docs.python.org/3/library/pprint.html">Archived</a> from the original on 22 January 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">5 November</span> 2022</span>. <q>stuff=['spam', 'eggs', 'lumberjack', 'knights', 'ni']</q></cite></span>
</li>
<li id="cite_note-79"><span class="mw-cite-backlink"><b><a href="#cite_ref-79">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python-guide.org/writing/style">"Code Style – The Hitchhiker's Guide to Python"</a>. <i>docs.python-guide.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210127154341/https://docs.python-guide.org/writing/style/">Archived</a> from the original on 27 January 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">20 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-52-80"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-52_80-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/faq/general.html#is-python-a-good-language-for-beginning-programmers">"Is Python a good language for beginning programmers?"</a>. <i>General Python FAQ</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121024164224/http://docs.python.org/faq/general.html#is-python-a-good-language-for-beginning-programmers">Archived</a> from the original on 24 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">21 March</span> 2007</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-53-81"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-53_81-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20180218162410/http://www.secnetix.de/~olli/Python/block_indentation.hawk">"Myths about indentation in Python"</a>. Secnetix.de. Archived from <a rel="nofollow" class="external text" href="http://www.secnetix.de/~olli/Python/block_indentation.hawk">the original</a> on 18 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-guttag-82"><span class="mw-cite-backlink"><b><a href="#cite_ref-guttag_82-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGuttag2016" class="citation book cs1">Guttag, John V. (12 August 2016). <i>Introduction to Computation and Programming Using Python: With Application to Understanding Data</i>. MIT Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-262-52962-4</bdi>.</cite></span>
</li>
<li id="cite_note-83"><span class="mw-cite-backlink"><b><a href="#cite_ref-83">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0008/">"PEP 8 – Style Guide for Python Code"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190417223549/https://www.python.org/dev/peps/pep-0008/">Archived</a> from the original on 17 April 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">26 March</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-84"><span class="mw-cite-backlink"><b><a href="#cite_ref-84">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.11/tutorial/errors.html">"8. Errors and Exceptions – Python 3.12.0a0 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220509145745/https://docs.python.org/3.11/tutorial/errors.html">Archived</a> from the original on 9 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">9 May</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-85"><span class="mw-cite-backlink"><b><a href="#cite_ref-85">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/download/releases/2.5/highlights/">"Highlights: Python 2.5"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190804120408/https://www.python.org/download/releases/2.5/highlights/">Archived</a> from the original on 4 August 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">20 March</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-55-87"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-55_87-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum2009" class="citation web cs1">van Rossum, Guido (22 April 2009). <a rel="nofollow" class="external text" href="http://neopythonic.blogspot.be/2009/04/tail-recursion-elimination.html">"Tail Recursion Elimination"</a>. Neopythonic.blogspot.be. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180519225253/http://neopythonic.blogspot.be/2009/04/tail-recursion-elimination.html">Archived</a> from the original on 19 May 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-56-88"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-56_88-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum2006" class="citation web cs1">van Rossum, Guido (9 February 2006). <a rel="nofollow" class="external text" href="http://www.artima.com/weblogs/viewpost.jsp?thread=147358">"Language Design Is Not Just Solving Puzzles"</a>. <i>Artima forums</i>. Artima. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200117182525/https://www.artima.com/weblogs/viewpost.jsp?thread=147358">Archived</a> from the original on 17 January 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">21 March</span> 2007</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-57-89"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-57_89-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_RossumEby2005" class="citation web cs1">van Rossum, Guido; Eby, Phillip J. (10 May 2005). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0342/">"PEP 342&nbsp;– Coroutines via Enhanced Generators"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200529003739/https://www.python.org/dev/peps/pep-0342/">Archived</a> from the original on 29 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-58-90"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-58_90-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0380/">"PEP 380"</a>. Python.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604233821/https://www.python.org/dev/peps/pep-0380/">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-91"><span class="mw-cite-backlink"><b><a href="#cite_ref-91">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org">"division"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060720033244/http://docs.python.org/">Archived</a> from the original on 20 July 2006<span class="reference-accessdate">. Retrieved <span class="nowrap">30 July</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-PEP465-92"><span class="mw-cite-backlink"><b><a href="#cite_ref-PEP465_92-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0465/">"PEP 0465 – A dedicated infix operator for matrix multiplication"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604224255/https://www.python.org/dev/peps/pep-0465/">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">1 January</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-Python3.5Changelog-93"><span class="mw-cite-backlink"><b><a href="#cite_ref-Python3.5Changelog_93-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/downloads/release/python-351/">"Python 3.5.1 Release and Changelog"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200514034938/https://www.python.org/downloads/release/python-351/">Archived</a> from the original on 14 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">1 January</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-Python3.8Changelog-94"><span class="mw-cite-backlink"><b><a href="#cite_ref-Python3.8Changelog_94-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.8/whatsnew/3.8.html">"What's New in Python 3.8"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200608124345/https://docs.python.org/3.8/whatsnew/3.8.html">Archived</a> from the original on 8 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">14 October</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-60-95"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-60_95-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_RossumHettinger2003" class="citation web cs1">van Rossum, Guido; Hettinger, Raymond (7 February 2003). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0308/">"PEP 308&nbsp;– Conditional Expressions"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160313113147/https://www.python.org/dev/peps/pep-0308/">Archived</a> from the original on 13 March 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-96"><span class="mw-cite-backlink"><b><a href="#cite_ref-96">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/stdtypes.html#tuple">"4. Built-in Types – Python 3.6.3rc1 documentation"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614194325/https://docs.python.org/3/library/stdtypes.html#tuple">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">1 October</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-97"><span class="mw-cite-backlink"><b><a href="#cite_ref-97">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences">"5.3. Tuples and Sequences – Python 3.7.1rc2 documentation"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200610050047/https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences">Archived</a> from the original on 10 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">17 October</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-pep-0498-98"><span class="mw-cite-backlink">^ <a href="#cite_ref-pep-0498_98-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-pep-0498_98-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0498/">"PEP 498 – Literal String Interpolation"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615184141/https://www.python.org/dev/peps/pep-0498/">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">8 March</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-61-99"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-61_99-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls">"Why must 'self' be used explicitly in method definitions and calls?"</a>. <i>Design and History FAQ</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121024164243/http://docs.python.org/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls">Archived</a> from the original on 24 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-100"><span class="mw-cite-backlink"><b><a href="#cite_ref-100">^</a></b></span> <span class="reference-text"><cite id="CITEREFSweigart2020" class="citation book cs1">Sweigart, Al (2020). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=7GUKEAAAQBAJ&amp;pg=PA322"><i>Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code</i></a>. No Starch Press. p.&nbsp;322. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-59327-966-0</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210813194312/https://books.google.com/books?id=7GUKEAAAQBAJ&amp;pg=PA322">Archived</a> from the original on 13 August 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">7 July</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-classy-101"><span class="mw-cite-backlink"><b><a href="#cite_ref-classy_101-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121026063834/http://docs.python.org/reference/datamodel.html#new-style-and-classic-classes">"The Python Language Reference, section 3.3. New-style and classic classes, for release 2.7.1"</a>. Archived from <a rel="nofollow" class="external text" href="https://docs.python.org/reference/datamodel.html#new-style-and-classic-classes">the original</a> on 26 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">12 January</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-102"><span class="mw-cite-backlink"><b><a href="#cite_ref-102">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://peps.python.org/pep-0484/">"PEP 484 – Type Hints | peps.python.org"</a>. <i>peps.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231127205023/https://peps.python.org/pep-0484/">Archived</a> from the original on 27 November 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">29 November</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-103"><span class="mw-cite-backlink"><b><a href="#cite_ref-103">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/typing.html">"typing — Support for type hints"</a>. <i>Python documentation</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200221184042/https://docs.python.org/3/library/typing.html">Archived</a> from the original on 21 February 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-104"><span class="mw-cite-backlink"><b><a href="#cite_ref-104">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://mypy-lang.org/">"mypy – Optional Static Typing for Python"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200606192012/http://mypy-lang.org/">Archived</a> from the original on 6 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">28 January</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-105"><span class="mw-cite-backlink"><b><a href="#cite_ref-105">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://mypyc.readthedocs.io/en/latest/introduction.html">"Introduction"</a>. <i>mypyc.readthedocs.io</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231222000457/https://mypyc.readthedocs.io/en/latest/introduction.html">Archived</a> from the original on 22 December 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">22 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-106"><span class="mw-cite-backlink"><b><a href="#cite_ref-106">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3.8/tutorial/floatingpoint.html#representation-error">"15. Floating Point Arithmetic: Issues and Limitations – Python 3.8.3 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200606113842/https://docs.python.org/3.8/tutorial/floatingpoint.html#representation-error">Archived</a> from the original on 6 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">6 June</span> 2020</span>. <q>Almost all machines today (November 2000) use IEEE-754 floating point arithmetic, and almost all platforms map Python floats to IEEE-754 "double precision".</q></cite></span>
</li>
<li id="cite_note-pep0237-107"><span class="mw-cite-backlink"><b><a href="#cite_ref-pep0237_107-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFZadkavan_Rossum2001" class="citation web cs1">Zadka, Moshe; van Rossum, Guido (11 March 2001). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0237/">"PEP 237&nbsp;– Unifying Long Integers and Integers"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200528063237/https://www.python.org/dev/peps/pep-0237/">Archived</a> from the original on 28 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-108"><span class="mw-cite-backlink"><b><a href="#cite_ref-108">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/stdtypes.html#typesseq-range">"Built-in Types"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614194325/https://docs.python.org/3/library/stdtypes.html#typesseq-range">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 October</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-109"><span class="mw-cite-backlink"><b><a href="#cite_ref-109">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://legacy.python.org/dev/peps/pep-0465/">"PEP 465 – A dedicated infix operator for matrix multiplication"</a>. <i>python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200529200310/https://legacy.python.org/dev/peps/pep-0465/">Archived</a> from the original on 29 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 July</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-pep0238-110"><span class="mw-cite-backlink">^ <a href="#cite_ref-pep0238_110-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-pep0238_110-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFZadkavan_Rossum2001" class="citation web cs1">Zadka, Moshe; van Rossum, Guido (11 March 2001). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0238/">"PEP 238&nbsp;– Changing the Division Operator"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200528115550/https://www.python.org/dev/peps/pep-0238/">Archived</a> from the original on 28 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">23 October</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-62-111"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-62_111-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://python-history.blogspot.com/2010/08/why-pythons-integer-division-floors.html">"Why Python's Integer Division Floors"</a>. 24 August 2010. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605151500/https://python-history.blogspot.com/2010/08/why-pythons-integer-division-floors.html">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">25 August</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-64-112"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-64_112-0">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://docs.python.org/py3k/library/functions.html#round">"round"</a>, <i>The Python standard library, release 3.2, §2: Built-in functions</i>, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121025141808/http://docs.python.org/py3k/library/functions.html#round">archived</a> from the original on 25 October 2012<span class="reference-accessdate">, retrieved <span class="nowrap">14 August</span> 2011</span></cite></span>
</li>
<li id="cite_note-AutoNT-63-113"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-63_113-0">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://docs.python.org/library/functions.html#round">"round"</a>, <i>The Python standard library, release 2.7, §2: Built-in functions</i>, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121027081602/http://docs.python.org/library/functions.html#round">archived</a> from the original on 27 October 2012<span class="reference-accessdate">, retrieved <span class="nowrap">14 August</span> 2011</span></cite></span>
</li>
<li id="cite_note-AutoNT-65-114"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-65_114-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBeazley2009" class="citation book cs1">Beazley, David M. (2009). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/pythonessentialr00beaz_036"><i>Python Essential Reference</i></a></span> (4th&nbsp;ed.). Addison-Wesley Professional. p.&nbsp;<a rel="nofollow" class="external text" href="https://archive.org/details/pythonessentialr00beaz_036/page/n90">66</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9780672329784</bdi>.</cite></span>
</li>
<li id="cite_note-CPL-115"><span class="mw-cite-backlink"><b><a href="#cite_ref-CPL_115-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKernighanRitchie1988" class="citation book cs1">Kernighan, Brian W.; Ritchie, Dennis M. (1988). <a href="The_C_Programming_Language" title="The C Programming Language"><i>The C Programming Language</i></a> (2nd&nbsp;ed.). p.&nbsp;<a rel="nofollow" class="external text" href="https://archive.org/details/cprogramminglang00bria/page/206">206</a>.</cite></span>
</li>
<li id="cite_note-AutoNT-88-116"><span class="mw-cite-backlink">^ <a href="#cite_ref-AutoNT-88_116-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-AutoNT-88_116-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFBatista2003" class="citation web cs1">Batista, Facundo (17 October 2003). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0327/">"PEP 327&nbsp;– Decimal Data Type"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604234830/https://www.python.org/dev/peps/pep-0327/">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-117"><span class="mw-cite-backlink"><b><a href="#cite_ref-117">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/2.6/whatsnew/2.6.html">"What's New in Python 2.6"</a>. <i>Python v2.6.9 documentation</i>. 29 October 2013. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191223213856/https://docs.python.org/2.6/whatsnew/2.6.html">Archived</a> from the original on 23 December 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">26 September</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-118"><span class="mw-cite-backlink"><b><a href="#cite_ref-118">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20200531211840/https://www.stat.washington.edu/~hoytak/blog/whypython.html">"10 Reasons Python Rocks for Research (And a Few Reasons it Doesn't) – Hoyt Koepke"</a>. <i>University of Washington Department of Statistics</i>. Archived from <a rel="nofollow" class="external text" href="https://www.stat.washington.edu/~hoytak/blog/whypython.html">the original</a> on 31 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 February</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-119"><span class="mw-cite-backlink"><b><a href="#cite_ref-119">^</a></b></span> <span class="reference-text"><cite id="CITEREFShell2014" class="citation web cs1">Shell, Scott (17 June 2014). <a rel="nofollow" class="external text" href="https://engineering.ucsb.edu/~shell/che210d/python.pdf">"An introduction to Python for scientific computing"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190204014642/https://engineering.ucsb.edu/~shell/che210d/python.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 4 February 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">3 February</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-86-120"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-86_120-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPiotrowski2006" class="citation web cs1">Piotrowski, Przemyslaw (July 2006). <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/articles/piotrowski-pythoncore-084049.html">"Build a Rapid Web Development Environment for Python Server Pages and Oracle"</a>. <i>Oracle Technology Network</i>. Oracle. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190402124435/https://www.oracle.com/technetwork/articles/piotrowski-pythoncore-084049.html">Archived</a> from the original on 2 April 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">12 March</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-89-121"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-89_121-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEby2003" class="citation web cs1">Eby, Phillip J. (7 December 2003). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0333/">"PEP 333&nbsp;– Python Web Server Gateway Interface v1.0"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614170344/https://www.python.org/dev/peps/pep-0333/">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-PyPI-122"><span class="mw-cite-backlink"><b><a href="#cite_ref-PyPI_122-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://pypi.org/">"PyPI"</a>. <i>PyPI</i>. 13 March 2025. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20250222013445/https://pypi.org/">Archived</a> from the original on 22 February 2025.</cite></span>
</li>
<li id="cite_note-123"><span class="mw-cite-backlink"><b><a href="#cite_ref-123">^</a></b></span> <span class="reference-text"><cite id="CITEREFEnthought" class="citation web cs1">Enthought, Canopy. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170715151703/https://www.enthought.com/products/canopy/">"Canopy"</a>. <i>www.enthought.com</i>. Archived from <a rel="nofollow" class="external text" href="https://www.enthought.com/products/canopy/">the original</a> on 15 July 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">20 August</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-124"><span class="mw-cite-backlink"><b><a href="#cite_ref-124">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://jupyter.org">"Project Jupyter"</a>. <i>Jupyter.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231012055917/https://jupyter.org/">Archived</a> from the original on 12 October 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">2 April</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-125"><span class="mw-cite-backlink"><b><a href="#cite_ref-125">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://peps.python.org/pep-0007/">"PEP 7 – Style Guide for C Code | peps.python.org"</a>. <i>peps.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220424202827/https://peps.python.org/pep-0007/">Archived</a> from the original on 24 April 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">28 April</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-126"><span class="mw-cite-backlink"><b><a href="#cite_ref-126">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/extending/building.html">"4. Building C and C++ Extensions – Python 3.9.2 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210303002519/https://docs.python.org/3/extending/building.html">Archived</a> from the original on 3 March 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">1 March</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-66-127"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-66_127-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFvan_Rossum2001" class="citation web cs1">van Rossum, Guido (5 June 2001). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0007/">"PEP 7&nbsp;– Style Guide for C Code"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200601203908/https://www.python.org/dev/peps/pep-0007/">Archived</a> from the original on 1 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-67-128"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-67_128-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/dis.html#python-bytecode-instructions">"CPython byte code"</a>. Docs.python.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605151542/https://docs.python.org/3/library/dis.html#python-bytecode-instructions">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">16 February</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-68-129"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-68_129-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.troeger.eu/teaching/pythonvm08.pdf">"Python 2.5 internals"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120806094951/http://www.troeger.eu/teaching/pythonvm08.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 6 August 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-130"><span class="mw-cite-backlink"><b><a href="#cite_ref-130">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog">"Changelog – Python 3.9.0 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210207001142/https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog">Archived</a> from the original on 7 February 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">8 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-131"><span class="mw-cite-backlink"><b><a href="#cite_ref-131">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/downloads/release/python-391">"Download Python"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201208045225/https://www.python.org/downloads/release/python-391/">Archived</a> from the original on 8 December 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">13 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-132"><span class="mw-cite-backlink"><b><a href="#cite_ref-132">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.vmspython.org/doku.php?id=history">"history [vmspython]"</a>. <i>www.vmspython.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201202194743/https://www.vmspython.org/doku.php?id=history">Archived</a> from the original on 2 December 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">4 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-69-133"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-69_133-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.oreilly.com/pub/a/oreilly/frank/rossum_1099.html">"An Interview with Guido van Rossum"</a>. Oreilly.com. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140716222652/http://oreilly.com/pub/a/oreilly/frank/rossum_1099.html">Archived</a> from the original on 16 July 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-134"><span class="mw-cite-backlink"><b><a href="#cite_ref-134">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/download/other/">"Download Python for Other Platforms"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201127015815/https://www.python.org/download/other/">Archived</a> from the original on 27 November 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">4 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-70-135"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-70_135-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://pypy.org/compat.html">"PyPy compatibility"</a>. Pypy.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200606041845/https://www.pypy.org/compat.html">Archived</a> from the original on 6 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-136"><span class="mw-cite-backlink"><b><a href="#cite_ref-136">^</a></b></span> <span class="reference-text"><cite id="CITEREFTeam2019" class="citation web cs1">Team, The PyPy (28 December 2019). <a rel="nofollow" class="external text" href="https://www.pypy.org/download.html">"Download and Install"</a>. <i>PyPy</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220108212951/https://www.pypy.org/download.html">Archived</a> from the original on 8 January 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">8 January</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-71-137"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-71_137-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://speed.pypy.org/">"speed comparison between CPython and Pypy"</a>. Speed.pypy.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210510014902/https://speed.pypy.org/">Archived</a> from the original on 10 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-138"><span class="mw-cite-backlink"><b><a href="#cite_ref-138">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.exaloop.io/codon/general/differences">"Codon: Differences with Python"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230525002540/https://docs.exaloop.io/codon/general/differences">Archived</a> from the original on 25 May 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">28 August</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-139"><span class="mw-cite-backlink"><b><a href="#cite_ref-139">^</a></b></span> <span class="reference-text"><cite id="CITEREFLawson2023" class="citation web cs1">Lawson, Loraine (14 March 2023). <a rel="nofollow" class="external text" href="https://thenewstack.io/mit-created-compiler-speeds-up-python-code/">"MIT-Created Compiler Speeds up Python Code"</a>. <i>The New Stack</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230406054200/https://thenewstack.io/mit-created-compiler-speeds-up-python-code/">Archived</a> from the original on 6 April 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">28 August</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-140"><span class="mw-cite-backlink"><b><a href="#cite_ref-140">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3">"Python-for-EV3"</a>. <i>LEGO Education</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200607234814/https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3">Archived</a> from the original on 7 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">17 April</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-141"><span class="mw-cite-backlink"><b><a href="#cite_ref-141">^</a></b></span> <span class="reference-text"><cite id="CITEREFYegulalp2020" class="citation news cs1">Yegulalp, Serdar (29 October 2020). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3587591/pyston-returns-from-the-dead-to-speed-python.html">"Pyston returns from the dead to speed Python"</a>. <i><a href="InfoWorld" title="InfoWorld">InfoWorld</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210127113233/https://www.infoworld.com/article/3587591/pyston-returns-from-the-dead-to-speed-python.html">Archived</a> from the original on 27 January 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">26 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-142"><span class="mw-cite-backlink"><b><a href="#cite_ref-142">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebookincubator/cinder">"cinder: Instagram's performance-oriented fork of CPython"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210504112500/https://github.com/facebookincubator/cinder">Archived</a> from the original on 4 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">4 May</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-143"><span class="mw-cite-backlink"><b><a href="#cite_ref-143">^</a></b></span> <span class="reference-text"><cite id="CITEREFAroca2021" class="citation web cs1">Aroca, Rafael (7 August 2021). <a rel="nofollow" class="external text" href="https://rafaelaroca.wordpress.com/2021/08/07/snek-lang-feels-like-python-on-arduinos/">"Snek Lang: feels like Python on Arduinos"</a>. <i>Yet Another Technology Blog</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240105001031/https://rafaelaroca.wordpress.com/2021/08/07/snek-lang-feels-like-python-on-arduinos/">Archived</a> from the original on 5 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-144"><span class="mw-cite-backlink"><b><a href="#cite_ref-144">^</a></b></span> <span class="reference-text"><cite id="CITEREFAufranc_(CNXSoft)2020" class="citation web cs1">Aufranc (CNXSoft), Jean-Luc (16 January 2020). <a rel="nofollow" class="external text" href="https://www.cnx-software.com/2020/01/16/snekboard-controls-lego-power-functions-with-circuitpython-or-snek-programming-languages/">"Snekboard Controls LEGO Power Functions with CircuitPython or Snek Programming Languages (Crowdfunding) – CNX Software"</a>. <i>CNX Software – Embedded Systems News</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240105001031/https://www.cnx-software.com/2020/01/16/snekboard-controls-lego-power-functions-with-circuitpython-or-snek-programming-languages/">Archived</a> from the original on 5 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-145"><span class="mw-cite-backlink"><b><a href="#cite_ref-145">^</a></b></span> <span class="reference-text"><cite id="CITEREFKennedy_(@mkennedy)" class="citation web cs1">Kennedy (@mkennedy), Michael. <a rel="nofollow" class="external text" href="https://pythonbytes.fm/episodes/show/187/ready-to-find-out-if-youre-git-famous">"Ready to find out if you're git famous?"</a>. <i>pythonbytes.fm</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240105001031/https://pythonbytes.fm/episodes/show/187/ready-to-find-out-if-youre-git-famous">Archived</a> from the original on 5 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-146"><span class="mw-cite-backlink"><b><a href="#cite_ref-146">^</a></b></span> <span class="reference-text"><cite id="CITEREFPackard2022" class="citation web cs1">Packard, Keith (20 December 2022). <a rel="nofollow" class="external text" href="https://sneklang.org/doc/snek.pdf">"The Snek Programming Language: A Python-inspired Embedded Computing Language"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240104162458/https://sneklang.org/doc/snek.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 4 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-73-147"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-73_147-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://doc.pypy.org/en/latest/stackless.html">"Application-level Stackless features – PyPy 2.0.2 documentation"</a>. Doc.pypy.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200604231513/https://doc.pypy.org/en/latest/stackless.html">Archived</a> from the original on 4 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">17 July</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-74-148"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-74_148-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.google.com/p/unladen-swallow/wiki/ProjectPlan">"Plans for optimizing Python"</a>. <i>Google Project Hosting</i>. 15 December 2009. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160411181848/https://code.google.com/p/unladen-swallow/wiki/ProjectPlan">Archived</a> from the original on 11 April 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-149"><span class="mw-cite-backlink"><b><a href="#cite_ref-149">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.stochasticgeometry.ie/2010/04/29/python-on-the-nokia-n900/">"Python on the Nokia N900"</a>. <i>Stochastic Geometry</i>. 29 April 2010. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190620000053/http://www.stochasticgeometry.ie/2010/04/29/python-on-the-nokia-n900/">Archived</a> from the original on 20 June 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">9 July</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-150"><span class="mw-cite-backlink"><b><a href="#cite_ref-150">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://brython.info/">"Brython"</a>. <i>brython.info</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180803065954/http://brython.info/">Archived</a> from the original on 3 August 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">21 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-151"><span class="mw-cite-backlink"><b><a href="#cite_ref-151">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.transcrypt.org">"Transcrypt – Python in the browser"</a>. <i>transcrypt.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180819133303/http://www.transcrypt.org/">Archived</a> from the original on 19 August 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">22 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-152"><span class="mw-cite-backlink"><b><a href="#cite_ref-152">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.infoq.com/articles/transcrypt-python-javascript-compiler/">"Transcrypt: Anatomy of a Python to JavaScript Compiler"</a>. <i>InfoQ</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201205193339/https://www.infoq.com/articles/transcrypt-python-javascript-compiler/">Archived</a> from the original on 5 December 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">20 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-153"><span class="mw-cite-backlink"><b><a href="#cite_ref-153">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://nuitka.net/">"Nuitka Home | Nuitka Home"</a>. <i>nuitka.net</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200530211233/https://nuitka.net/">Archived</a> from the original on 30 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">18 August</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-Guelton_Brunet_Amini_Merlini_2015_p=014001-154"><span class="mw-cite-backlink"><b><a href="#cite_ref-Guelton_Brunet_Amini_Merlini_2015_p=014001_154-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGueltonBrunetAminiMerlini2015" class="citation journal cs1">Guelton, Serge; Brunet, Pierrick; Amini, Mehdi; Merlini, Adrien; Corbillon, Xavier; Raynaud, Alan (16 March 2015). <a rel="nofollow" class="external text" href="https://doi.org/10.1088%2F1749-4680%2F8%2F1%2F014001">"Pythran: enabling static optimization of scientific Python programs"</a>. <i>Computational Science &amp; Discovery</i>. <b>8</b> (1). IOP Publishing: 014001. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2015CS&amp;D....8a4001G">2015CS&amp;D....8a4001G</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1088%2F1749-4680%2F8%2F1%2F014001">10.1088/1749-4680/8/1/014001</a></span>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&nbsp;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1749-4699">1749-4699</a>.</cite></span>
</li>
<li id="cite_note-155"><span class="mw-cite-backlink"><b><a href="#cite_ref-155">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://11l-lang.org/transpiler">"The Python → 11l → C++ transpiler"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220924233728/https://11l-lang.org/transpiler/">Archived</a> from the original on 24 September 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">17 July</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-156"><span class="mw-cite-backlink"><b><a href="#cite_ref-156">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/google/grumpy">"google/grumpy"</a>. 10 April 2020. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200415054919/https://github.com/google/grumpy">Archived</a> from the original on 15 April 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">25 March</span> 2020</span> – via GitHub.</cite></span>
</li>
<li id="cite_note-157"><span class="mw-cite-backlink"><b><a href="#cite_ref-157">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://opensource.google/projects/">"Projects"</a>. <i>opensource.google</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200424191248/https://opensource.google/projects/">Archived</a> from the original on 24 April 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">25 March</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-158"><span class="mw-cite-backlink"><b><a href="#cite_ref-158">^</a></b></span> <span class="reference-text"><cite id="CITEREFFrancisco" class="citation news cs1">Francisco, Thomas Claburn in San. <a rel="nofollow" class="external text" href="https://www.theregister.com/2017/01/05/googles_grumpy_makes_python_go/">"Google's Grumpy code makes Python Go"</a>. <i>www.theregister.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210307165521/https://www.theregister.com/2017/01/05/googles_grumpy_makes_python_go/">Archived</a> from the original on 7 March 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">20 January</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-159"><span class="mw-cite-backlink"><b><a href="#cite_ref-159">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ironpython.net/">"IronPython.net /"</a>. <i>ironpython.net</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210417064418/https://ironpython.net/">Archived</a> from the original on 17 April 2021.</cite></span>
</li>
<li id="cite_note-160"><span class="mw-cite-backlink"><b><a href="#cite_ref-160">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/IronLanguages/ironpython3">"GitHub – IronLanguages/ironpython3: Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210928101250/https://github.com/IronLanguages/ironpython3">Archived</a> from the original on 28 September 2021.</cite></span>
</li>
<li id="cite_note-161"><span class="mw-cite-backlink"><b><a href="#cite_ref-161">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jython.org/jython-old-sites/archive/22/userfaq.html">"Jython FAQ"</a>. <i>www.jython.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210422055726/https://www.jython.org/jython-old-sites/archive/22/userfaq.html">Archived</a> from the original on 22 April 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">22 April</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-162"><span class="mw-cite-backlink"><b><a href="#cite_ref-162">^</a></b></span> <span class="reference-text"><cite id="CITEREFMurri2013" class="citation conference cs1">Murri, Riccardo (2013). <i>Performance of Python runtimes on a non-numeric scientific code</i>. European Conference on Python in Science (EuroSciPy). <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1404.6388">1404.6388</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2014arXiv1404.6388M">2014arXiv1404.6388M</a>.</cite></span>
</li>
<li id="cite_note-163"><span class="mw-cite-backlink"><b><a href="#cite_ref-163">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python.html">"The Computer Language Benchmarks Game"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614210246/https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python.html">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">30 April</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-PepCite000-164"><span class="mw-cite-backlink">^ <a href="#cite_ref-PepCite000_164-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-PepCite000_164-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFWarsawHyltonGoodger2000" class="citation web cs1">Warsaw, Barry; Hylton, Jeremy; Goodger, David (13 June 2000). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0001/">"PEP 1&nbsp;– PEP Purpose and Guidelines"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200606042011/https://www.python.org/dev/peps/pep-0001/">Archived</a> from the original on 6 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-165"><span class="mw-cite-backlink"><b><a href="#cite_ref-165">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0008/">"PEP 8 – Style Guide for Python Code"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190417223549/https://www.python.org/dev/peps/pep-0008/">Archived</a> from the original on 17 April 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">26 March</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-21-166"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-21_166-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCannon" class="citation web cs1">Cannon, Brett. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090601134342/http://www.python.org/dev/intro/">"Guido, Some Guys, and a Mailing List: How Python is Developed"</a>. <i>python.org</i>. Python Software Foundation. Archived from <a rel="nofollow" class="external text" href="https://www.python.org/dev/intro/">the original</a> on 1 June 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-167"><span class="mw-cite-backlink"><b><a href="#cite_ref-167">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/885854/">"Moving Python's bugs to GitHub [LWN.net]"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221002183818/https://lwn.net/Articles/885854/">Archived</a> from the original on 2 October 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">2 October</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-py_dev_guide-168"><span class="mw-cite-backlink"><b><a href="#cite_ref-py_dev_guide_168-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://devguide.python.org/">"Python Developer's Guide – Python Developer's Guide"</a>. <i>devguide.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201109032501/https://devguide.python.org/">Archived</a> from the original on 9 November 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">17 December</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-169"><span class="mw-cite-backlink"><b><a href="#cite_ref-169">^</a></b></span> <span class="reference-text"><cite id="CITEREFHughes2021" class="citation web cs1">Hughes, Owen (24 May 2021). <a rel="nofollow" class="external text" href="https://www.techrepublic.com/article/programming-languages-why-python-4-0-will-probably-never-arrive-according-to-its-creator/">"Programming languages: Why Python 4.0 might never arrive, according to its creator"</a>. <i>TechRepublic</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220714201302/https://www.techrepublic.com/article/programming-languages-why-python-4-0-will-probably-never-arrive-according-to-its-creator/">Archived</a> from the original on 14 July 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-170"><span class="mw-cite-backlink"><b><a href="#cite_ref-170">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0602/">"PEP 602 – Annual Release Cycle for Python"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614202755/https://www.python.org/dev/peps/pep-0602/">Archived</a> from the original on 14 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-171"><span class="mw-cite-backlink"><b><a href="#cite_ref-171">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/802777/">"Changing the Python release cadence [LWN.net]"</a>. <i>lwn.net</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191106170153/https://lwn.net/Articles/802777/">Archived</a> from the original on 6 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-release-schedule-172"><span class="mw-cite-backlink"><b><a href="#cite_ref-release-schedule_172-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFNorwitz2002" class="citation web cs1">Norwitz, Neal (8 April 2002). <a rel="nofollow" class="external text" href="https://mail.python.org/pipermail/python-dev/2002-April/022739.html">"[Python-Dev] Release Schedules (was Stability &amp; change)"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181215122750/https://mail.python.org/pipermail/python-dev/2002-April/022739.html">Archived</a> from the original on 15 December 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-22-173"><span class="mw-cite-backlink">^ <a href="#cite_ref-AutoNT-22_173-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-AutoNT-22_173-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFAahzBaxter2001" class="citation web cs1">Aahz; Baxter, Anthony (15 March 2001). <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0006/">"PEP 6&nbsp;– Bug Fix Releases"</a>. <i>Python Enhancement Proposals</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605001318/https://www.python.org/dev/peps/pep-0006/">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-23-174"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-23_174-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/dev/buildbot/">"Python Buildbot"</a>. <i>Python Developer's Guide</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605001322/https://www.python.org/dev/buildbot/">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-175"><span class="mw-cite-backlink"><b><a href="#cite_ref-175">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.python.org/moin/DocumentationTools">"Documentation Tools"</a>. <i>Python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201111173635/https://wiki.python.org/moin/DocumentationTools">Archived</a> from the original on 11 November 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-tutorial-chapter1-176"><span class="mw-cite-backlink">^ <a href="#cite_ref-tutorial-chapter1_176-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tutorial-chapter1_176-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/tutorial/appetite.html">"Whetting Your Appetite"</a>. <i>The Python Tutorial</i>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121026063559/http://docs.python.org/tutorial/appetite.html">Archived</a> from the original on 26 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">20 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-26-177"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-26_177-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/5033906/in-python-should-i-use-else-after-a-return-in-an-if-block">"In Python, should I use else after a return in an if block?"</a>. <i><a href="Stack_Overflow" title="Stack Overflow">Stack Overflow</a></i>. Stack Exchange. 17 February 2011. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190620000050/https://stackoverflow.com/questions/5033906/in-python-should-i-use-else-after-a-return-in-an-if-block">Archived</a> from the original on 20 June 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">6 May</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-178"><span class="mw-cite-backlink"><b><a href="#cite_ref-178">^</a></b></span> <span class="reference-text"><cite id="CITEREFLutz2009" class="citation book cs1">Lutz, Mark (2009). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=1HxWGezDZcgC&amp;pg=PA17"><i>Learning Python: Powerful Object-Oriented Programming</i></a>. O'Reilly Media, Inc. p.&nbsp;17. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9781449379322</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170717044012/https://books.google.com/books?id=1HxWGezDZcgC&amp;pg=PA17">Archived</a> from the original on 17 July 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">9 May</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-179"><span class="mw-cite-backlink"><b><a href="#cite_ref-179">^</a></b></span> <span class="reference-text"><cite id="CITEREFFehily2002" class="citation book cs1">Fehily, Chris (2002). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=carqdIdfVlYC&amp;pg=PR15"><i>Python</i></a>. Peachpit Press. p.&nbsp;xv. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9780201748840</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170717044040/https://books.google.com/books?id=carqdIdfVlYC&amp;pg=PR15">Archived</a> from the original on 17 July 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">9 May</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-introducing_python-180"><span class="mw-cite-backlink"><b><a href="#cite_ref-introducing_python_180-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLubanovic2014" class="citation book cs1">Lubanovic, Bill (2014). <a rel="nofollow" class="external text" href="http://archive.org/details/introducingpytho0000luba"><i>Introducing Python</i></a>. Sebastopol, CA&nbsp;: O'Reilly Media. p.&nbsp;305. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-4493-5936-2</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">31 July</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-181"><span class="mw-cite-backlink"><b><a href="#cite_ref-181">^</a></b></span> <span class="reference-text"><cite id="CITEREFBlake2021" class="citation web cs1">Blake, Troy (18 January 2021). <a rel="nofollow" class="external text" href="https://seniordba.wordpress.com/2021/01/18/tiobe-index-for-january-2021/">"TIOBE Index for January 2021"</a>. <i>Technology News and Information by SeniorDBA</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210321143253/https://seniordba.wordpress.com/2021/01/18/tiobe-index-for-january-2021/">Archived</a> from the original on 21 March 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">26 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-182"><span class="mw-cite-backlink"><b><a href="#cite_ref-182">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.tiobe.com/tiobe-index/">"TIOBE Index"</a>. <i>TIOBE</i><span class="reference-accessdate">. Retrieved <span class="nowrap">31 March</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-quotes-about-python-183"><span class="mw-cite-backlink"><b><a href="#cite_ref-quotes-about-python_183-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.python.org/about/quotes/">"Quotes about Python"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200603135201/https://www.python.org/about/quotes/">Archived</a> from the original on 3 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">8 January</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-29-184"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-29_184-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.python.org/moin/OrganizationsUsingPython">"Organizations Using Python"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180821075931/https://wiki.python.org/moin/OrganizationsUsingPython">Archived</a> from the original on 21 August 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">15 January</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-30-185"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-30_185-0">^</a></b></span> <span class="reference-text"><cite class="citation journal cs1"><a rel="nofollow" class="external text" href="http://cdsweb.cern.ch/journal/CERNBulletin/2006/31/News%20Articles/974627?ln=en">"Python&nbsp;: the holy grail of programming"</a>. <i>CERN Bulletin</i> (31/2006). CERN Publications. 31 July 2006. <a rel="nofollow" class="external text" href="https://archive.today/20130115191843/http://cdsweb.cern.ch/journal/CERNBulletin/2006/31/News%20Articles/974627?ln=en">Archived</a> from the original on 15 January 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-31-186"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-31_186-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShafer2003" class="citation web cs1">Shafer, Daniel G. (17 January 2003). <a rel="nofollow" class="external text" href="https://www.python.org/about/success/usa/">"Python Streamlines Space Shuttle Mission Design"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605093424/https://www.python.org/about/success/usa/">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-187"><span class="mw-cite-backlink"><b><a href="#cite_ref-187">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developers.facebook.com/blog/post/301">"Tornado: Facebook's Real-Time Web Framework for Python – Facebook for Developers"</a>. <i>Facebook for Developers</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190219031313/https://developers.facebook.com/blog/post/301">Archived</a> from the original on 19 February 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">19 June</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-188"><span class="mw-cite-backlink"><b><a href="#cite_ref-188">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://instagram-engineering.com/what-powers-instagram-hundreds-of-instances-dozens-of-technologies-adf2e22da2ad">"What Powers Instagram: Hundreds of Instances, Dozens of Technologies"</a>. Instagram Engineering. 11 December 2016. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615183410/https://instagram-engineering.com/what-powers-instagram-hundreds-of-instances-dozens-of-technologies-adf2e22da2ad">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">27 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-189"><span class="mw-cite-backlink"><b><a href="#cite_ref-189">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/">"How we use Python at Spotify"</a>. <i>Spotify Labs</i>. 20 March 2013. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200610005143/https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/">Archived</a> from the original on 10 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">25 July</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-32-190"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-32_190-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFortenberry2003" class="citation web cs1">Fortenberry, Tim (17 January 2003). <a rel="nofollow" class="external text" href="https://www.python.org/about/success/ilm/">"Industrial Light &amp; Magic Runs on Python"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200606042020/https://www.python.org/about/success/ilm/">Archived</a> from the original on 6 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-33-191"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-33_191-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFTaft2007" class="citation web cs1">Taft, Darryl K. (5 March 2007). <a rel="nofollow" class="external text" href="http://www.eweek.com/c/a/Application-Development/Python-Slithers-into-Systems/">"Python Slithers into Systems"</a>. <i>eWeek.com</i>. Ziff Davis Holdings. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210813194304/https://www.eweek.com/development/python-slithers-into-systems/">Archived</a> from the original on 13 August 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">24 September</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-192"><span class="mw-cite-backlink"><b><a href="#cite_ref-192">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/reddit-archive/reddit"><i>GitHub – reddit-archive/reddit: historical code from reddit.com.</i></a>, The Reddit Archives, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200601104939/https://github.com/reddit-archive/reddit">archived</a> from the original on 1 June 2020<span class="reference-accessdate">, retrieved <span class="nowrap">20 March</span> 2019</span></cite></span>
</li>
<li id="cite_note-193"><span class="mw-cite-backlink"><b><a href="#cite_ref-193">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/">"Real time communication at scale with Elixir at Discord"</a>. 8 October 2020.</cite></span>
</li>
<li id="cite_note-194"><span class="mw-cite-backlink"><b><a href="#cite_ref-194">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.freelancinggig.com/blog/2018/07/05/what-programming-language-is-baidu-built-in/#:~:text=Even%20though%20Baidu%20has%20used,part%20JavaScript%20has%20been%20applied">"What Programming Language is Baidu Built In?"</a>. 5 July 2018.</cite></span>
</li>
<li id="cite_note-AutoNT-35-195"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-35_195-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://w3techs.com/technologies/details/pl-python/all/all">"Usage statistics and market share of Python for websites"</a>. 2012. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210813194305/https://w3techs.com/technologies/details/pl-python">Archived</a> from the original on 13 August 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-cise-196"><span class="mw-cite-backlink"><b><a href="#cite_ref-cise_196-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFOliphant2007" class="citation journal cs1">Oliphant, Travis (2007). <a rel="nofollow" class="external text" href="https://www.h2desk.com/blog/python-scientific-computing/">"Python for Scientific Computing"</a>. <i>Computing in Science and Engineering</i>. <b>9</b> (3): <span class="nowrap">10–</span>20. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2007CSE.....9c..10O">2007CSE.....9c..10O</a>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.474.6460">10.1.1.474.6460</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FMCSE.2007.58">10.1109/MCSE.2007.58</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&nbsp;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1521-9615">1521-9615</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:206457124">206457124</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615193226/https://www.h2desk.com/blog/python-scientific-computing/">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">10 April</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-millman-197"><span class="mw-cite-backlink"><b><a href="#cite_ref-millman_197-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMillmanAivazis2011" class="citation journal cs1">Millman, K. Jarrod; Aivazis, Michael (2011). <a rel="nofollow" class="external text" href="http://www.computer.org/csdl/mags/cs/2011/02/mcs2011020009.html">"Python for Scientists and Engineers"</a>. <i>Computing in Science and Engineering</i>. <b>13</b> (2): <span class="nowrap">9–</span>12. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011CSE....13b...9M">2011CSE....13b...9M</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FMCSE.2011.36">10.1109/MCSE.2011.36</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190219031439/https://www.computer.org/csdl/mags/cs/2011/02/mcs2011020009.html">Archived</a> from the original on 19 February 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">7 July</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-ICSE-198"><span class="mw-cite-backlink"><b><a href="#cite_ref-ICSE_198-0">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615180428/http://visual.icse.us.edu.pl/methodology/why_Sage.html"><i>Science education with SageMath</i></a>, Innovative Computing in Science Education, archived from <a rel="nofollow" class="external text" href="http://visual.icse.us.edu.pl/methodology/why_Sage.html">the original</a> on 15 June 2020<span class="reference-accessdate">, retrieved <span class="nowrap">22 April</span> 2019</span></cite></span>
</li>
<li id="cite_note-199"><span class="mw-cite-backlink"><b><a href="#cite_ref-199">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.opencv.org/3.4.9/d6/d00/tutorial_py_root.html">"OpenCV: OpenCV-Python Tutorials"</a>. <i>docs.opencv.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200923063145/https://docs.opencv.org/3.4.9/d6/d00/tutorial_py_root.html">Archived</a> from the original on 23 September 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">14 September</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-whitepaper2015-200"><span class="mw-cite-backlink"><b><a href="#cite_ref-whitepaper2015_200-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDeanMongaGhemawat2015" class="citation web cs1"><a href="Jeff_Dean_(computer_scientist)" class="mw-redirect" title="Jeff Dean (computer scientist)">Dean, Jeff</a>; Monga, Rajat; et&nbsp;al. (9 November 2015). <a rel="nofollow" class="external text" href="http://download.tensorflow.org/paper/whitepaper2015.pdf">"TensorFlow: Large-scale machine learning on heterogeneous systems"</a> <span class="cs1-format">(PDF)</span>. <i>TensorFlow.org</i>. Google Research. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151120004649/http://download.tensorflow.org/paper/whitepaper2015.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 20 November 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">10 November</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-201"><span class="mw-cite-backlink"><b><a href="#cite_ref-201">^</a></b></span> <span class="reference-text"><cite id="CITEREFPiatetsky" class="citation web cs1">Piatetsky, Gregory. <a rel="nofollow" class="external text" href="https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2">"Python eats away at R: Top Software for Analytics, Data Science, Machine Learning in 2018: Trends and Analysis"</a>. <i>KDnuggets</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191115234216/https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2">Archived</a> from the original on 15 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">30 May</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-202"><span class="mw-cite-backlink"><b><a href="#cite_ref-202">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://scikit-learn.org/stable/testimonials/testimonials.html">"Who is using scikit-learn? – scikit-learn 0.20.1 documentation"</a>. <i>scikit-learn.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200506210716/https://scikit-learn.org/stable/testimonials/testimonials.html">Archived</a> from the original on 6 May 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">30 November</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-203"><span class="mw-cite-backlink"><b><a href="#cite_ref-203">^</a></b></span> <span class="reference-text"><cite id="CITEREFJouppi" class="citation web cs1"><a href="Norman_Jouppi" title="Norman Jouppi">Jouppi, Norm</a>. <a rel="nofollow" class="external text" href="https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html">"Google supercharges machine learning tasks with TPU custom chip"</a>. <i>Google Cloud Platform Blog</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160518201516/https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html">Archived</a> from the original on 18 May 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">19 May</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-ProbLogConcepts-204"><span class="mw-cite-backlink"><b><a href="#cite_ref-ProbLogConcepts_204-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDe_RaedtKimmig2015" class="citation journal cs1">De Raedt, Luc; Kimmig, Angelika (2015). <a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs10994-015-5494-z">"Probabilistic (logic) programming concepts"</a>. <i>Machine Learning</i>. <b>100</b> (1): <span class="nowrap">5–</span>47. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs10994-015-5494-z">10.1007/s10994-015-5494-z</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:3166992">3166992</a>.</cite></span>
</li>
<li id="cite_note-AutoNT-47-205"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-47_205-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.nltk.org/">"Natural Language Toolkit – NLTK 3.5b1 documentation"</a>. <i>www.nltk.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200613003911/http://www.nltk.org/">Archived</a> from the original on 13 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">10 April</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-206"><span class="mw-cite-backlink"><b><a href="#cite_ref-206">^</a></b></span> <span class="reference-text">Andersen, C. and Swift, T., 2023. The Janus System: a bridge to new prolog applications. In Prolog: The Next 50 Years (pp. 93–104). Cham: Springer Nature Switzerland.</span>
</li>
<li id="cite_note-207"><span class="mw-cite-backlink"><b><a href="#cite_ref-207">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/janus.html%27)">"SWI-Prolog Python interface"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240315162046/https://www.swi-prolog.org/pldoc/doc_for?object=section%28%27packages%2Fjanus.html%27%29">Archived</a> from the original on 15 March 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">15 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-208"><span class="mw-cite-backlink"><b><a href="#cite_ref-208">^</a></b></span> <span class="reference-text">Tarau, P., 2023. Reflections on automation, learnability and expressiveness in logic-based programming languages. In Prolog: The Next 50 Years (pp. 359–371). Cham: Springer Nature Switzerland.</span>
</li>
<li id="cite_note-209"><span class="mw-cite-backlink"><b><a href="#cite_ref-209">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/tkinter.html">"Tkinter — Python interface to TCL/Tk"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121018043136/http://docs.python.org/library/tkinter.html">Archived</a> from the original on 18 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">9 June</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-210"><span class="mw-cite-backlink"><b><a href="#cite_ref-210">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.geeksforgeeks.org/python-tkinter-tutorial/">"Python Tkinter Tutorial"</a>. 3 June 2020. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230609031631/https://www.geeksforgeeks.org/python-tkinter-tutorial/">Archived</a> from the original on 9 June 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">9 June</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-211"><span class="mw-cite-backlink"><b><a href="#cite_ref-211">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130717070814/http://gimp-win.sourceforge.net/faq.html">"Installers for GIMP for Windows – Frequently Asked Questions"</a>. 26 July 2013. Archived from <a rel="nofollow" class="external text" href="http://gimp-win.sourceforge.net/faq.html">the original</a> on 17 July 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">26 July</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-38-212"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-38_212-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080319061519/http://www.jasc.com/support/customercare/articles/psp9components.asp">"jasc psp9components"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.jasc.com/support/customercare/articles/psp9components.asp">the original</a> on 19 March 2008.</cite></span>
</li>
<li id="cite_note-AutoNT-39-213"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-39_213-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=About_getting_started_with_writing_geoprocessing_scripts">"About getting started with writing geoprocessing scripts"</a>. <i>ArcGIS Desktop Help 9.2</i>. Environmental Systems Research Institute. 17 November 2006. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200605144616/http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=About_getting_started_with_writing_geoprocessing_scripts">Archived</a> from the original on 5 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-40-214"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-40_214-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCCP_porkbelly2010" class="citation web cs1">CCP porkbelly (24 August 2010). <a rel="nofollow" class="external text" href="https://community.eveonline.com/news/dev-blogs/stackless-python-2.7/">"Stackless Python 2.7"</a>. <i>EVE Community Dev Blogs</i>. <a href="CCP_Games" title="CCP Games">CCP Games</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140111155537/http://community.eveonline.com/news/dev-blogs/stackless-python-2.7/">Archived</a> from the original on 11 January 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">11 January</span> 2014</span>. <q>As you may know, EVE has at its core the programming language known as Stackless Python.</q></cite></span>
</li>
<li id="cite_note-AutoNT-41-215"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-41_215-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCaudill2005" class="citation web cs1">Caudill, Barry (20 September 2005). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101202164144/http://www.2kgames.com/civ4/blog_03.htm">"Modding Sid Meier's Civilization IV"</a>. <i>Sid Meier's Civilization IV Developer Blog</i>. <a href="Firaxis_Games" title="Firaxis Games">Firaxis Games</a>. Archived from <a rel="nofollow" class="external text" href="http://www.2kgames.com/civ4/blog_03.htm">the original</a> on 2 December 2010. <q>we created three levels of tools ... The next level offers Python and XML support, letting modders with more experience manipulate the game world and everything in it.</q></cite></span>
</li>
<li id="cite_note-AutoNT-42-216"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-42_216-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100715145616/http://code.google.com/apis/documents/docs/1.0/developers_guide_python.html">"Python Language Guide (v1.0)"</a>. <i>Google Documents List Data API v1.0</i>. Archived from <a rel="nofollow" class="external text" href="https://code.google.com/apis/documents/docs/1.0/developers_guide_python.html">the original</a> on 15 July 2010.</cite></span>
</li>
<li id="cite_note-217"><span class="mw-cite-backlink"><b><a href="#cite_ref-217">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.libreoffice.org/download/4-0-new-features-and-fixes/">"4.0 New Features and Fixes"</a>. <i>LibreOffice.org</i>. <a href="The_Document_Foundation" title="The Document Foundation">The Document Foundation</a>. 2013. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140209184807/http://www.libreoffice.org/download/4-0-new-features-and-fixes/">Archived</a> from the original on 9 February 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-218"><span class="mw-cite-backlink"><b><a href="#cite_ref-218">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/using/unix.html">"Python Setup and Usage"</a>. Python Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200617143505/https://docs.python.org/3/using/unix.html">Archived</a> from the original on 17 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">10 January</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-51-219"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-51_219-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://sugarlabs.org/go/Sugar">"What is Sugar?"</a>. Sugar Labs. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090109025944/http://sugarlabs.org/go/Sugar">Archived</a> from the original on 9 January 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-49-220"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-49_220-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1 cs1-prop-unfit"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090216134332/http://immunitysec.com/products-immdbg.shtml">"Immunity: Knowing You're Secure"</a>. Archived from the original on 16 February 2009.</cite></span>
</li>
<li id="cite_note-AutoNT-50-221"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-50_221-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.coresecurity.com/">"Core Security"</a>. <i>Core Security</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200609165041/http://www.coresecurity.com/">Archived</a> from the original on 9 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">10 April</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-90-222"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-90_222-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20081211062108/http://boo.codehaus.org/Gotchas+for+Python+Users">"Gotchas for Python Users"</a>. <i>boo.codehaus.org</i>. Codehaus Foundation. Archived from <a rel="nofollow" class="external text" href="http://boo.codehaus.org/Gotchas+for+Python+Users">the original</a> on 11 December 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-91-223"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-91_223-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEsterbrook" class="citation web cs1">Esterbrook, Charles. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080208141002/http://cobra-language.com/docs/acknowledgements/">"Acknowledgements"</a>. <i>cobra-language.com</i>. Cobra Language. Archived from <a rel="nofollow" class="external text" href="http://cobra-language.com/docs/acknowledgements/">the original</a> on 8 February 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-93-224"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-93_224-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20071020082650/http://wiki.ecmascript.org/doku.php?id=proposals:iterators_and_generators">"Proposals: iterators and generators [ES4 Wiki]"</a>. wiki.ecmascript.org. Archived from <a rel="nofollow" class="external text" href="http://wiki.ecmascript.org/doku.php?id=proposals:iterators_and_generators">the original</a> on 20 October 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-225"><span class="mw-cite-backlink"><b><a href="#cite_ref-225">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.godotengine.org/en/stable/about/faq.html">"Frequently asked questions"</a>. <i>Godot Engine documentation</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210428053339/https://docs.godotengine.org/en/stable/about/faq.html">Archived</a> from the original on 28 April 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">10 May</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-94-226"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-94_226-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKincaid2009" class="citation news cs1">Kincaid, Jason (10 November 2009). <a rel="nofollow" class="external text" href="https://techcrunch.com/2009/11/10/google-go-language/">"Google's Go: A New Programming Language That's Python Meets C++"</a>. <i>TechCrunch</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100118014358/http://www.techcrunch.com/2009/11/10/google-go-language/">Archived</a> from the original on 18 January 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">29 January</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-95-227"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-95_227-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFStrachan2003" class="citation web cs1">Strachan, James (29 August 2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070405085722/http://radio.weblogs.com/0112098/2003/08/29.html">"Groovy&nbsp;– the birth of a new dynamic language for the Java platform"</a>. Archived from <a rel="nofollow" class="external text" href="http://radio.weblogs.com/0112098/2003/08/29.html">the original</a> on 5 April 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">11 June</span> 2007</span>.</cite></span>
</li>
<li id="cite_note-228"><span class="mw-cite-backlink"><b><a href="#cite_ref-228">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.modular.com/mojo/why-mojo.html">"Modular Docs – Why Mojo"</a>. <i>docs.modular.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230505083518/https://docs.modular.com/mojo/why-mojo.html">Archived</a> from the original on 5 May 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">5 May</span> 2023</span>. <q>Mojo as a member of the Python family [..] Embracing Python massively simplifies our design efforts, because most of the syntax is already specified. [..] we decided that the right long-term goal for Mojo is to provide a superset of Python (i.e. be compatible with existing programs) and to embrace the CPython immediately for long-tail ecosystem enablement. To a Python programmer, we expect and hope that Mojo will be immediately familiar, while also providing new tools for developing systems-level code that enable you to do things that Python falls back to C and C++ for.</q></cite></span>
</li>
<li id="cite_note-229"><span class="mw-cite-backlink"><b><a href="#cite_ref-229">^</a></b></span> <span class="reference-text"><cite id="CITEREFSpencer2023" class="citation web cs1">Spencer, Michael (4 May 2023). <a rel="nofollow" class="external text" href="https://datasciencelearningcenter.substack.com/p/what-is-mojo-programming-language">"What is Mojo Programming Language?"</a>. <i>datasciencelearningcenter.substack.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230505090408/https://datasciencelearningcenter.substack.com/p/what-is-mojo-programming-language">Archived</a> from the original on 5 May 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">5 May</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-230"><span class="mw-cite-backlink"><b><a href="#cite_ref-230">^</a></b></span> <span class="reference-text"><cite id="CITEREFYegulalp2017" class="citation web cs1">Yegulalp, Serdar (16 January 2017). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3157745/application-development/nim-language-draws-from-best-of-python-rust-go-and-lisp.html">"Nim language draws from best of Python, Rust, Go, and Lisp"</a>. <i>InfoWorld</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181013211847/https://www.infoworld.com/article/3157745/application-development/nim-language-draws-from-best-of-python-rust-go-and-lisp.html">Archived</a> from the original on 13 October 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">7 June</span> 2020</span>. <q>Nim's syntax is strongly reminiscent of Python's, as it uses indented code blocks and some of the same syntax (such as the way if/elif/then/else blocks are constructed).</q></cite></span>
</li>
<li id="cite_note-linuxdevcenter-231"><span class="mw-cite-backlink"><b><a href="#cite_ref-linuxdevcenter_231-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html">"An Interview with the Creator of Ruby"</a>. Linuxdevcenter.com. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180428150410/http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html">Archived</a> from the original on 28 April 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-232"><span class="mw-cite-backlink"><b><a href="#cite_ref-232">^</a></b></span> <span class="reference-text"><cite id="CITEREFLattner2014" class="citation web cs1"><a href="Chris_Lattner" title="Chris Lattner">Lattner, Chris</a> (3 June 2014). <a rel="nofollow" class="external text" href="http://nondot.org/sabre">"Chris Lattner's Homepage"</a>. Chris Lattner. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151222150510/http://nondot.org/sabre/">Archived</a> from the original on 22 December 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">3 June</span> 2014</span>. <q>I started work on the Swift Programming Language in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013 [...] drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.</q></cite></span>
</li>
<li id="cite_note-233"><span class="mw-cite-backlink"><b><a href="#cite_ref-233">^</a></b></span> <span class="reference-text"><cite id="CITEREFJalan2022" class="citation web cs1">Jalan, Nishant Aanjaney (10 November 2022). <a rel="nofollow" class="external text" href="https://medium.com/codex/programming-in-kotlin-934bdb3659cf">"Programming in Kotlin"</a>. <i>CodeX</i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 April</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-99-234"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-99_234-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKupriesFellows2000" class="citation web cs1">Kupries, Andreas; Fellows, Donal K. (14 September 2000). <a rel="nofollow" class="external text" href="http://www.tcl.tk/cgi-bin/tct/tip/3.html">"TIP #3: TIP Format"</a>. <i>tcl.tk</i>. Tcl Developer Xchange. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170713233954/http://tcl.tk/cgi-bin/tct/tip/3.html">Archived</a> from the original on 13 July 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-AutoNT-100-235"><span class="mw-cite-backlink"><b><a href="#cite_ref-AutoNT-100_235-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGustafssonNiskanen2007" class="citation web cs1">Gustafsson, Per; Niskanen, Raimo (29 January 2007). <a rel="nofollow" class="external text" href="http://www.erlang.org/eeps/eep-0001.html">"EEP 1: EEP Purpose and Guidelines"</a>. erlang.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200615153206/http://erlang.org/eeps/eep-0001.html">Archived</a> from the original on 15 June 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-236"><span class="mw-cite-backlink"><b><a href="#cite_ref-236">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/apple/swift-evolution/blob/master/process.md">"Swift Evolution Process"</a>. <i>Swift Programming Language Evolution repository on GitHub</i>. 18 February 2020. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200427182556/https://github.com/apple/swift-evolution/blob/master/process.md">Archived</a> from the original on 27 April 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">27 April</span> 2020</span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading3"><h3 id="Sources">Sources</h3></div>
<ul><li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121101045354/http://wiki.python.org/moin/PythonForArtificialIntelligence">"Python for Artificial Intelligence"</a>. Python Wiki. 19 July 2012. Archived from <a rel="nofollow" class="external text" href="https://wiki.python.org/moin/PythonForArtificialIntelligence">the original</a> on 1 November 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">3 December</span> 2012</span>.</cite></li>
<li><cite id="CITEREFPaine2005" class="citation journal cs1">Paine, Jocelyn, ed. (August 2005). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120326105810/http://www.ainewsletter.com/newsletters/aix_0508.htm#python_ai_ai">"AI in Python"</a>. <i>AI Expert Newsletter</i>. Amzi!. Archived from <a rel="nofollow" class="external text" href="http://www.ainewsletter.com/newsletters/aix_0508.htm#python_ai_ai">the original</a> on 26 March 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2012</span>.</cite></li>
<li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://pypi.python.org/pypi/PyAIML">"PyAIML 0.8.5&nbsp;: Python Package Index"</a>. Pypi.python.org<span class="reference-accessdate">. Retrieved <span class="nowrap">17 July</span> 2013</span>.</cite></li>
<li><cite id="CITEREFRussellNorvig2009" class="citation book cs1"><a href="Stuart_J._Russell" title="Stuart J. Russell">Russell, Stuart J.</a> &amp; <a href="Peter_Norvig" title="Peter Norvig">Norvig, Peter</a> (2009). <i>Artificial Intelligence: A Modern Approach</i> (3rd&nbsp;ed.). Upper Saddle River, NJ: Prentice Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-13-604259-4</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFDowney2024" class="citation book cs1">Downey, Allen (July 2024). <a rel="nofollow" class="external text" href="https://allendowney.github.io/ThinkPython/"><i>Think Python: How to Think Like a Computer Scientist</i></a> (3rd&nbsp;ed.). O'Reilly Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1098155438</bdi>.</cite></li>
<li><cite id="CITEREFLutz2013" class="citation book cs1">Lutz, Mark (2013). <i>Learning Python</i> (5th&nbsp;ed.). O'Reilly Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-596-15806-4</bdi>.</cite></li>
<li><cite id="CITEREFSummerfield2009" class="citation book cs1">Summerfield, Mark (2009). <i>Programming in Python 3</i> (2nd&nbsp;ed.). Addison-Wesley Professional. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-321-68056-3</bdi>.</cite></li>
<li><cite id="CITEREFRamalho2022" class="citation book cs1">Ramalho, Luciano (May 2022). <a rel="nofollow" class="external text" href="https://www.thoughtworks.com/insights/books/fluent-python-2nd-edition"><i>Fluent Python</i></a>. O'Reilly Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-4920-5632-4</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */


.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1250146164">
/* start https://en.wikipedia.org/ */


.mw-parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:217px;margin:0 auto}.mw-parser-output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-link{display:inline-block;margin-left:4px;width:182px;vertical-align:middle}@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}


/* end https://en.wikipedia.org/ */
</style>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://www.python.org/">Official website</a></span></span> </li>
<li><a rel="nofollow" class="external text" href="https://docs.python.org/3/tutorial/">The Python Tutorial</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1239334494">
/* start https://en.wikipedia.org/ */


@media screen{html.skin-theme-clientpref-night .mw-parser-output div:not(.notheme)>.tmp-color,html.skin-theme-clientpref-night .mw-parser-output p>.tmp-color,html.skin-theme-clientpref-night .mw-parser-output table:not(.notheme) .tmp-color{color:inherit!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output div:not(.notheme)>.tmp-color,html.skin-theme-clientpref-os .mw-parser-output p>.tmp-color,html.skin-theme-clientpref-os .mw-parser-output table:not(.notheme) .tmp-color{color:inherit!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Python379" style="padding:3px"><table class="nowraplinks mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3" style="background: #3467AC; color: #FCFCFC;"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Python379" style="font-size:114%;margin:0 4em"></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%;background: #FFCC55;"><a href="Programming_language_implementation" title="Programming language implementation">Implementations</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CircuitPython" title="CircuitPython">CircuitPython</a></li>
<li><a href="CLPython" title="CLPython">CLPython</a></li>
<li><a href="CPython" title="CPython">CPython</a></li>
<li><a href="Cython" title="Cython">Cython</a></li>
<li><a href="MicroPython" title="MicroPython">MicroPython</a></li>
<li><a href="Numba" title="Numba">Numba</a></li>
<li><a href="IronPython" title="IronPython">IronPython</a></li>
<li><a href="Jython" title="Jython">Jython</a></li>
<li><a href="Psyco" title="Psyco">Psyco</a></li>
<li><a href="PyPy" title="PyPy">PyPy</a></li>
<li><a href="Python_for_S60" title="Python for S60">Python for S60</a></li>
<li><a href="Shed_Skin" title="Shed Skin">Shed Skin</a></li>
<li><a href="Stackless_Python" title="Stackless Python">Stackless Python</a></li>
<li><a href="Unladen_Swallow" title="Unladen Swallow">Unladen Swallow</a></li>
<li><i><a href="List_of_Python_software#Python_implementations" title="List of Python software">more</a>...</i></li></ul>
</div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;background: #FFCC55;"><a href="Integrated_development_environment" title="Integrated development environment">IDEs</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Eric_(software)" title="Eric (software)">eric</a></li>
<li><a href="IDLE" title="IDLE">IDLE</a></li>
<li><a href="Ninja-IDE" title="Ninja-IDE">Ninja-IDE</a></li>
<li><a href="PyCharm" title="PyCharm">PyCharm</a></li>
<li><a href="PyDev" title="PyDev">PyDev</a></li>
<li><a href="Spyder_(software)" title="Spyder (software)">Spyder</a></li>
<li><i><a href="List_of_integrated_development_environments_for_Python" class="mw-redirect" title="List of integrated development environments for Python">more</a>...</i></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;background: #FFCC55;">Topics</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Web_Server_Gateway_Interface" title="Web Server Gateway Interface">WSGI</a></li>
<li><a href="Asynchronous_Server_Gateway_Interface" title="Asynchronous Server Gateway Interface">ASGI</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;background: #FFCC55;"><a href="Software_development" title="Software development">Designer</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="3" style="background: #FFCC55;"><div>
<ul><li><a href="List_of_Python_software" title="List of Python software">Software</a> (list)</li>
<li><a href="Python_Software_Foundation" title="Python Software Foundation">Python Software Foundation</a></li>
<li><a href="Python_Conference" title="Python Conference">Python Conference</a> (PyCon)</li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Programming_languages625" style="padding:3px"><table class="nowraplinks hlist mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Programming_languages625" style="font-size:114%;margin:0 4em"><a href="Programming_language" title="Programming language">Programming languages</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Comparison_of_programming_languages" title="Comparison of programming languages">Comparison</a></li>
<li><a href="Timeline_of_programming_languages" title="Timeline of programming languages">Timeline</a></li>
<li><a href="History_of_programming_languages" title="History of programming languages">History</a></li></ul>
</div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ada_(programming_language)" title="Ada (programming language)">Ada</a></li>
<li><a href="ALGOL" title="ALGOL">ALGOL</a>
<ul><li><a href="Simula" title="Simula">Simula</a></li></ul></li>
<li><a href="APL_(programming_language)" title="APL (programming language)">APL</a></li>
<li><a href="Assembly_language" title="Assembly language">Assembly</a></li>
<li><a href="BASIC" title="BASIC">BASIC</a>
<ul><li><a href="Visual_Basic" title="Visual Basic">Visual Basic</a>
<ul><li><a href="Visual_Basic_(classic)" title="Visual Basic (classic)">classic</a></li>
<li><a href="Visual_Basic_(.NET)" title="Visual Basic (.NET)">.NET</a></li></ul></li></ul></li>
<li><a href="C_(programming_language)" title="C (programming language)">C</a></li>
<li><a href="C%2B%2B" title="C++">C++</a></li>
<li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="COBOL" title="COBOL">COBOL</a></li>
<li><a href="Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a>
<ul><li><a href="Elixir_(programming_language)" title="Elixir (programming language)">Elixir</a></li></ul></li>
<li><a href="Forth_(programming_language)" title="Forth (programming language)">Forth</a></li>
<li><a href="Fortran" title="Fortran">Fortran</a></li>
<li><a href="Go_(programming_language)" title="Go (programming language)">Go</a></li>
<li><a href="Haskell" title="Haskell">Haskell</a></li>
<li><a href="Java_(programming_language)" title="Java (programming language)">Java</a></li>
<li><a href="JavaScript" title="JavaScript">JavaScript</a></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a></li>
<li><a href="Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a></li>
<li><a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li>
<li><a href="Lua" title="Lua">Lua</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a></li>
<li><a href="ML_(programming_language)" title="ML (programming language)">ML</a>
<ul><li><a href="Caml" title="Caml">Caml </a>
<ul><li><a href="OCaml" title="OCaml">OCaml</a></li></ul></li></ul></li>
<li><a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a>
<ul><li><a href="Object_Pascal" title="Object Pascal">Object Pascal</a></li></ul></li>
<li><a href="Perl" title="Perl">Perl </a>
<ul><li><a href="Raku_(programming_language)" title="Raku (programming language)">Raku</a></li></ul></li>
<li><a href="PHP" title="PHP">PHP</a></li>
<li><a href="Prolog" title="Prolog">Prolog</a></li>

<li><a href="R_(programming_language)" title="R (programming language)">R</a></li>
<li><a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li>
<li><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a></li>
<li><a href="SAS_language" title="SAS language">SAS</a></li>
<li><a href="SQL" title="SQL">SQL</a></li>
<li><a href="Scratch_(programming_language)" title="Scratch (programming language)">Scratch</a></li>
<li><a href="Shell_script" title="Shell script">Shell</a></li>
<li><a href="Smalltalk" title="Smalltalk">Smalltalk</a></li>
<li><a href="Swift_(programming_language)" title="Swift (programming language)">Swift</a></li>
<li><i><a href="List_of_programming_languages" title="List of programming languages">more...</a></i></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="List-Class article"></span></span> <b>Lists:</b> <a href="List_of_programming_languages" title="List of programming languages">Alphabetical</a></li>
<li><a href="List_of_programming_languages_by_type" title="List of programming languages by type">Categorical</a></li>
<li><a href="Generational_list_of_programming_languages" title="Generational list of programming languages">Generational</a></li>
<li><a href="Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based</a></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Python_web_frameworks122" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Python_web_frameworks122" style="font-size:114%;margin:0 4em"> <a href="Web_framework" title="Web framework">web frameworks</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CherryPy" title="CherryPy">CherryPy</a></li>
<li><a href="CubicWeb" title="CubicWeb">CubicWeb</a></li>
<li><a href="Django_(web_framework)" title="Django (web framework)">Django</a></li>
<li><a href="FastAPI" title="FastAPI">FastAPI</a></li>
<li><a href="Flask_(web_framework)" title="Flask (web framework)">Flask</a></li>
<li><a href="Grok_(web_framework)" class="mw-redirect" title="Grok (web framework)">Grok</a></li>
<li><a href="Nevow" class="mw-redirect" title="Nevow">Nevow</a></li>
<li><a href="Pylons_project#Pylons_Framework" title="Pylons project">Pylons</a></li>
<li><a href="Pylons_project#Pyramid" title="Pylons project">Pyramid</a></li>
<li><a href="Quixote_(web_framework)" title="Quixote (web framework)">Quixote</a></li>
<li><a href="Tornado_(web_server)" title="Tornado (web server)">Tornado</a></li>
<li><a href="TurboGears" title="TurboGears">TurboGears</a></li>
<li><a href="Twisted_(software)" title="Twisted (software)">TwistedWeb</a></li>
<li><a href="Web2py" title="Web2py">web2py</a></li>
<li><a href="Zope#Zope_2" title="Zope">Zope 2</a></li>
<li><i>more</i>...</li></ul>
</div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div>
<ul><li><a href="Comparison_of_server-side_web_frameworks#Python" title="Comparison of server-side web frameworks">Comparison</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Differentiable_computing254" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Differentiable_computing254" style="font-size:114%;margin:0 4em">Differentiable computing</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Differentiable_function" title="Differentiable function">General</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><b><a href="Differentiable_programming" title="Differentiable programming">Differentiable programming</a></b></li>
<li><a href="Information_geometry" title="Information geometry">Information geometry</a></li>
<li><a href="Statistical_manifold" title="Statistical manifold">Statistical manifold</a></li>
<li><a href="Automatic_differentiation" title="Automatic differentiation">Automatic differentiation</a></li>
<li><a href="Neuromorphic_computing" title="Neuromorphic computing">Neuromorphic computing</a></li>
<li><a href="Pattern_recognition" title="Pattern recognition">Pattern recognition</a></li>
<li><a href="Ricci_calculus" title="Ricci calculus">Ricci calculus</a></li>
<li><a href="Computational_learning_theory" title="Computational learning theory">Computational learning theory</a></li>
<li><a href="Inductive_bias" title="Inductive bias">Inductive bias</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Graphcore" title="Graphcore">IPU</a></li>
<li><a href="Tensor_Processing_Unit" title="Tensor Processing Unit">TPU</a></li>
<li><a href="Vision_processing_unit" title="Vision processing unit">VPU</a></li>
<li><a href="Memristor" title="Memristor">Memristor</a></li>
<li><a href="SpiNNaker" title="SpiNNaker">SpiNNaker</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software libraries</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="TensorFlow" title="TensorFlow">TensorFlow</a></li>
<li><a href="PyTorch" title="PyTorch">PyTorch</a></li>
<li><a href="Keras" title="Keras">Keras</a></li>
<li><a href="Scikit-learn" title="Scikit-learn">scikit-learn</a></li>
<li><a href="Theano_(software)" title="Theano (software)">Theano</a></li>
<li><a href="JAX_(software)" title="JAX (software)">JAX</a></li>
<li><a href="Flux_(machine-learning_framework)" title="Flux (machine-learning framework)">Flux.jl</a></li>
<li><a href="MindSpore" title="MindSpore">MindSpore</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"></span> Portals
<ul><li><a href="Portal%3AComputer_programming" title="Portal:Computer programming">Computer programming</a></li>
<li><a href="Portal%3ATechnology" title="Portal:Technology">Technology</a></li></ul></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Free_and_open-source_software510" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Free_and_open-source_software510" style="font-size:114%;margin:0 4em"><a href="Free_and_open-source_software" title="Free and open-source software">Free and open-source software</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Alternative_terms_for_free_software" title="Alternative terms for free software">Alternative terms for free software</a></li>
<li><a href="Comparison_of_open-source_and_closed-source_software" title="Comparison of open-source and closed-source software">Comparison of open-source and closed-source software</a></li>
<li><a href="Comparison_of_source-code-hosting_facilities" title="Comparison of source-code-hosting facilities">Comparison of source-code-hosting facilities</a></li>
<li><a href="Free_software" title="Free software">Free software</a></li>
<li><a href="List_of_free_software_project_directories" title="List of free software project directories">Free software project directories</a></li>
<li><a href="Gratis_versus_libre" title="Gratis versus libre">Gratis versus libre</a></li>
<li><a href="Long-term_support" title="Long-term support">Long-term support</a></li>
<li><a href="Open-source_software" title="Open-source software">Open-source software</a></li>
<li><a href="Open-source_software_development" title="Open-source software development">Open-source software development</a></li>
<li><a href="Outline_of_free_software" title="Outline of free software">Outline</a></li>
<li><a href="Timeline_of_free_and_open-source_software" title="Timeline of free and open-source software">Timeline</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_free_and_open-source_software_packages" title="List of free and open-source software packages">Software<br>packages</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_free_software_for_audio" title="Comparison of free software for audio">Audio</a></li>
<li><a href="List_of_open-source_bioinformatics_software" title="List of open-source bioinformatics software">Bioinformatics</a></li>
<li><a href="List_of_open-source_codecs" title="List of open-source codecs">Codecs</a></li>
<li><a href="Comparison_of_open-source_configuration_management_software" title="Comparison of open-source configuration management software">Configuration management</a></li>
<li><a href="Device_driver" title="Device driver">Drivers</a>
<ul><li><a href="Free_and_open-source_graphics_device_driver" title="Free and open-source graphics device driver">Graphics</a></li>
<li><a href="Comparison_of_open-source_wireless_drivers" title="Comparison of open-source wireless drivers">Wireless</a></li></ul></li>
<li><a href="List_of_open-source_health_software" title="List of open-source health software">Health</a></li>
<li><a href="List_of_open-source_software_for_mathematics" title="List of open-source software for mathematics">Mathematics</a></li>
<li><a href="List_of_office_suites" title="List of office suites">Office suites</a></li>
<li><a href="Comparison_of_open-source_operating_systems" title="Comparison of open-source operating systems">Operating systems</a></li>
<li><a href="List_of_open-source_routing_platforms" title="List of open-source routing platforms">Routing</a></li>
<li><a href="List_of_free_television_software" title="List of free television software">Television</a></li>
<li><a href="List_of_open-source_video_games" title="List of open-source video games">Video games</a></li>
<li><a href="List_of_free_and_open-source_web_applications" title="List of free and open-source web applications">Web applications</a>
<ul><li><a href="Comparison_of_shopping_cart_software" title="Comparison of shopping cart software">E-commerce</a></li></ul></li>
<li><a href="List_of_free_and_open-source_Android_applications" title="List of free and open-source Android applications">Android apps</a></li>
<li><a href="List_of_free_and_open-source_iOS_applications" title="List of free and open-source iOS applications">iOS apps</a></li>
<li><a href="List_of_commercial_open-source_applications_and_services" title="List of commercial open-source applications and services">Commercial</a></li>
<li><a href="List_of_formerly_proprietary_software" title="List of formerly proprietary software">Formerly proprietary</a></li>
<li><a href="List_of_formerly_free_and_open-source_software" class="mw-redirect" title="List of formerly free and open-source software">Formerly open-source</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Free_software_movement" title="Free software movement">Free software movement</a></li>
<li><a href="History_of_free_and_open-source_software" title="History of free and open-source software">History</a></li>
<li><a href="Open-source-software_movement" class="mw-redirect" title="Open-source-software movement">Open-source-software movement</a></li>
<li><a href="List_of_free-software_events" title="List of free-software events">Events</a></li>
<li><a href="Open-source_software_advocacy" title="Open-source software advocacy">Advocacy</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_free_and_open-source_software_organizations" title="List of free and open-source software organizations">Organisations</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Free_Software_Movement_of_India" title="Free Software Movement of India">Free Software Movement of India</a></li>
<li><a href="Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Free-software_license" title="Free-software license">Licenses</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Academic_Free_License" title="Academic Free License">AFL</a></li>
<li><a href="Apache_License" title="Apache License">Apache</a></li>
<li><a href="Apple_Public_Source_License" title="Apple Public Source License">APSL</a></li>
<li><a href="Artistic_License" title="Artistic License">Artistic</a></li>
<li><a href="Beerware" title="Beerware">Beerware</a></li>
<li><a href="BSD_licenses" title="BSD licenses">BSD</a></li>
<li><a href="Creative_Commons_license" title="Creative Commons license">Creative Commons</a></li>
<li><a href="Common_Development_and_Distribution_License" title="Common Development and Distribution License">CDDL</a></li>
<li><a href="Eclipse_Public_License" title="Eclipse Public License">EPL</a></li>
<li><a href="Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a>
<ul><li><a href="GNU_General_Public_License" title="GNU General Public License">GNU GPL</a></li>
<li><a href="GNU_Affero_General_Public_License" title="GNU Affero General Public License">GNU AGPL</a></li>
<li><a href="GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">GNU LGPL</a></li></ul></li>
<li><a href="ISC_license" title="ISC license">ISC</a></li>
<li><a href="MIT_License" title="MIT License">MIT</a></li>
<li><a href="Mozilla_Public_License" title="Mozilla Public License">MPL</a></li>
<li><a href="Python_License" title="Python License">Python</a></li>
<li><a href="Python_Software_Foundation_License" title="Python Software Foundation License">Python Software Foundation License</a></li>
<li><a href="Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li>
<li><a href="Sleepycat_License" class="mw-redirect" title="Sleepycat License">Sleepycat</a></li>
<li><a href="Unlicense" title="Unlicense">Unlicense</a></li>
<li><a href="WTFPL" title="WTFPL">WTFPL</a></li>
<li><a href="Zlib_License" title="Zlib License">zlib</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Types_and_standards23" scope="row" class="navbox-group" style="width:1%">Types and<br> standards</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_free_and_open-source_software_licenses" title="Comparison of free and open-source software licenses">Comparison of licenses</a></li>
<li><a href="Contributor_License_Agreement" title="Contributor License Agreement">Contributor License Agreement</a></li>
<li><a href="Copyleft" title="Copyleft">Copyleft</a></li>
<li><a href="Debian_Free_Software_Guidelines" class="mw-redirect" title="Debian Free Software Guidelines">Debian Free Software Guidelines</a></li>
<li><a href="Definition_of_Free_Cultural_Works" title="Definition of Free Cultural Works">Definition of Free Cultural Works</a></li>
<li><a href="Free_license" title="Free license">Free license</a></li>
<li><a href="The_Free_Software_Definition" title="The Free Software Definition">The Free Software Definition</a></li>
<li><a href="The_Open_Source_Definition" title="The Open Source Definition">The Open Source Definition</a></li>
<li><a href="Open-source_license" title="Open-source license">Open-source license</a></li>
<li><a href="Permissive_software_license" title="Permissive software license">Permissive software license</a></li>
<li><a href="Public_domain" title="Public domain">Public domain</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Challenges</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Digital_rights_management" title="Digital rights management">Digital rights management</a></li>
<li><a href="License_proliferation" title="License proliferation">License proliferation</a></li>
<li><a href="Mozilla_software_rebranded_by_Debian" class="mw-redirect" title="Mozilla software rebranded by Debian">Mozilla software rebranding</a></li>
<li><a href="Proprietary_device_driver" class="mw-redirect" title="Proprietary device driver">Proprietary device drivers</a></li>
<li><a href="Proprietary_firmware" title="Proprietary firmware">Proprietary firmware</a></li>
<li><a href="Proprietary_software" title="Proprietary software">Proprietary software</a></li>
<li><a href="SCO%E2%80%93Linux_disputes" title="SCO–Linux disputes">SCO/Linux controversies</a></li>
<li><a href="Software_patents_and_free_software" title="Software patents and free software">Software patents</a></li>
<li><a href="Open-source_software_security" title="Open-source software security">Software security</a></li>
<li><a href="Tivoization" title="Tivoization">Tivoization</a></li>
<li><a href="Trusted_Computing" title="Trusted Computing">Trusted Computing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related <br>topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fork_(software_development)" title="Fork (software development)">Forking</a></li>
<li><i><a href="GNU_Manifesto" title="GNU Manifesto">GNU Manifesto</a></i></li>
<li><a href="Microsoft_Open_Specification_Promise" title="Microsoft Open Specification Promise">Microsoft Open Specification Promise</a></li>
<li><a href="Open-core_model" title="Open-core model">Open-core model</a></li>
<li><a href="Open-source_hardware" title="Open-source hardware">Open-source hardware</a></li>
<li><a href="Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li>
<li><a href="Source-available_software" title="Source-available software">Source-available software</a></li>
<li><i><a href="The_Cathedral_and_the_Bazaar" title="The Cathedral and the Bazaar">The Cathedral and the Bazaar</a></i></li>
<li><i><a href="Revolution_OS" title="Revolution OS">Revolution OS</a></i></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold"><div>
<ul><li><span class="noviewer" typeof="mw:File"></span> <a href="Portal%3AFree_and_open-source_software" title="Portal:Free and open-source software">Portal</a></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Statistical_software284" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Statistical_software284" style="font-size:114%;margin:0 4em"><a href="List_of_statistical_software" title="List of statistical software">Statistical software</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Public-domain_software" title="Public-domain software">Public domain</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Dataplot" title="Dataplot">Dataplot</a></li>
<li><a href="Epi_Info" title="Epi Info">Epi Info</a></li>
<li><a href="CSPro" title="CSPro">CSPro</a></li>
<li><a href="X-12-ARIMA" class="mw-redirect" title="X-12-ARIMA">X-12-ARIMA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Open-source_software" title="Open-source software">Open-source</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ADMB" title="ADMB">ADMB</a></li>
<li><a href="DAP_(software)" title="DAP (software)">DAP</a></li>
<li><a href="Gretl" title="Gretl">gretl</a></li>
<li><a href="Jamovi" title="Jamovi">jamovi</a></li>
<li><a href="JASP" title="JASP">JASP</a></li>
<li><a href="Just_another_Gibbs_sampler" title="Just another Gibbs sampler">JAGS</a></li>
<li><a href="JMulTi" title="JMulTi">JMulTi</a></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a></li>
<li><a href="Project_Jupyter" title="Project Jupyter">Jupyter</a> (<i>Ju</i>lia, <i>Py</i>thon, <i>R</i>)</li>
<li><a href="GNU_Octave" title="GNU Octave">GNU Octave</a></li>
<li><a href="OpenBUGS" title="OpenBUGS">OpenBUGS</a></li>
<li><a href="Orange_(software)" title="Orange (software)">Orange</a></li>
<li><a href="PSPP" title="PSPP">PSPP</a></li>
<li> (statsmodels, <a href="PyMC3" class="mw-redirect" title="PyMC3">PyMC3</a>, <a href="IPython" title="IPython">IPython</a>, <a href="IDLE" title="IDLE">IDLE</a>)</li>
<li><a href="R_(programming_language)" title="R (programming language)">R</a> (<a href="RStudio" title="RStudio">RStudio</a>)</li>
<li><a href="SageMath" title="SageMath">SageMath</a></li>
<li><a href="SimFiT" title="SimFiT">SimFiT</a></li>
<li><a href="SOFA_Statistics" title="SOFA Statistics">SOFA Statistics</a></li>
<li><a href="Stan_(software)" title="Stan (software)">Stan</a></li>
<li><a href="XLispStat" title="XLispStat">XLispStat</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Freeware" title="Freeware">Freeware</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BV4.1_(software)" title="BV4.1 (software)">BV4.1</a></li>
<li><a href="CumFreq" title="CumFreq">CumFreq</a></li>
<li><a href="SegReg" title="SegReg">SegReg</a></li>
<li><a href="XploRe" title="XploRe">XploRe</a></li>
<li><a href="WinBUGS" title="WinBUGS">WinBUGS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Commercial_software" title="Commercial software">Commercial</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Cross-platform_software" title="Cross-platform software">Cross-platform</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Data_Desk" title="Data Desk">Data Desk</a></li>
<li><a href="GAUSS_(software)" title="GAUSS (software)">GAUSS</a></li>
<li><a href="GraphPad_InStat" class="mw-redirect" title="GraphPad InStat">GraphPad InStat</a></li>
<li><a href="GraphPad_Prism" class="mw-redirect" title="GraphPad Prism">GraphPad Prism</a></li>
<li>IBM <a href="SPSS" title="SPSS">SPSS</a> Statistics</li>
<li>IBM <a href="SPSS_Modeler" title="SPSS Modeler">SPSS Modeler</a></li>
<li><a href="JMP_(statistical_software)" title="JMP (statistical software)">JMP</a></li>
<li><a href="Maple_(software)" title="Maple (software)">Maple</a></li>
<li><a href="Mathcad" title="Mathcad">Mathcad</a></li>
<li><a href="Wolfram_Mathematica" class="mw-redirect" title="Wolfram Mathematica">Mathematica</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a></li>
<li><a href="OxMetrics" title="OxMetrics">OxMetrics</a></li>
<li><a href="RATS_(software)" title="RATS (software)">RATS</a></li>
<li><a href="Revolution_Analytics" title="Revolution Analytics">Revolution Analytics</a></li>
<li><a href="SAS_(software)" title="SAS (software)">SAS</a> (<a href="SAS_Viya" title="SAS Viya">SAS Viya</a>)</li>
<li><a href="SmartPLS" title="SmartPLS">SmartPLS</a></li>
<li><a href="Stata" title="Stata">Stata</a></li>
<li><a href="StatView" title="StatView">StatView</a></li>
<li><a href="SUDAAN" title="SUDAAN">SUDAAN</a></li>
<li><a href="S-PLUS" title="S-PLUS">S-PLUS</a></li>
<li><a href="TSP_(econometrics_software)" title="TSP (econometrics software)">TSP</a></li>
<li><a href="World_Programming_System" title="World Programming System">World Programming System</a> (WPS)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> only</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BMDP" title="BMDP">BMDP</a></li>
<li><a href="EViews" title="EViews">EViews</a></li>
<li><a href="Genstat" title="Genstat">GenStat</a></li>
<li><a href="LIMDEP" title="LIMDEP">LIMDEP</a></li>
<li><a href="LISREL" title="LISREL">LISREL</a></li>
<li><a href="MedCalc" title="MedCalc">MedCalc</a></li>
<li><a href="Microfit" title="Microfit">Microfit</a></li>
<li><a href="Minitab" title="Minitab">Minitab</a></li>
<li><a href="MLwiN" title="MLwiN">MLwiN</a></li>
<li><a href="NCSS_(statistical_software)" title="NCSS (statistical software)">NCSS</a></li>
<li><a href="Shazam_(econometrics_software)" title="Shazam (econometrics software)">Shazam</a></li>
<li><a href="SigmaStat" title="SigmaStat">SigmaStat</a></li>
<li><a href="Statistica" title="Statistica">Statistica</a></li>
<li><a href="StatsDirect" title="StatsDirect">StatsDirect</a></li>
<li><a href="StatXact" title="StatXact">StatXact</a></li>
<li><a href="SYSTAT_(statistics_package)" title="SYSTAT (statistics package)">SYSTAT</a></li>
<li><a href="The_Unscrambler" title="The Unscrambler">The Unscrambler</a></li>
<li>Unistat</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Microsoft_Excel" title="Microsoft Excel">Excel</a> add-ons</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Analyse-it" title="Analyse-it">Analyse-it</a></li>
<li>Unistat for Excel</li>
<li><a href="XLfit" title="XLfit">XLfit</a></li>
<li><a href="RExcel" title="RExcel">RExcel</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><b><a href="Comparison_of_statistical_packages" title="Comparison of statistical packages">Comparison</a></b> • <b>Category</b></div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Numerical-analysis_software146" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Numerical-analysis_software146" style="font-size:114%;margin:0 4em"><a href="List_of_numerical-analysis_software" title="List of numerical-analysis software">Numerical-analysis software</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Free</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Simulation_Library" title="Advanced Simulation Library">Advanced Simulation Library</a></li>
<li><a href="ADMB" title="ADMB">ADMB</a></li>
<li><a href="Chapel_(programming_language)" title="Chapel (programming language)">Chapel</a></li>
<li><a href="Euler_Mathematical_Toolbox" title="Euler Mathematical Toolbox">Euler Mathematical Toolbox</a></li>
<li><a href="FreeFem%2B%2B" title="FreeFem++">FreeFem++</a></li>
<li><a href="FreeMat" title="FreeMat">FreeMat</a></li>
<li><a href="Genius_(mathematics_software)" title="Genius (mathematics software)">Genius</a></li>
<li><a href="Gmsh" title="Gmsh">Gmsh</a></li>
<li><a href="GNU_Octave" title="GNU Octave">GNU Octave</a></li>
<li><a href="Gretl" title="Gretl">gretl</a></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a></li>
<li><a href="Project_Jupyter" title="Project Jupyter">Jupyter</a> (<i>Ju</i>lia, <i>Pyt</i>hon, <i>R</i>; <a href="IPython" title="IPython">IPython</a>)</li>
<li><a href="MFEM" title="MFEM">MFEM</a></li>
<li><a href="OpenFOAM" title="OpenFOAM">OpenFOAM</a></li>

<li><a href="R_(programming_language)" title="R (programming language)">R</a></li>
<li><a href="SageMath" title="SageMath">SageMath</a></li>
<li><a href="Salome_(software)" title="Salome (software)">Salome</a></li>
<li><a href="ScicosLab" title="ScicosLab">ScicosLab</a></li>
<li><a href="Scilab" title="Scilab">Scilab</a></li>
<li><a href="X10_(programming_language)" title="X10 (programming language)">X10</a></li>
<li><a href="Weka_(software)" title="Weka (software)">Weka</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Discontinued12" scope="row" class="navbox-group" style="width:1%">Discontinued</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fortress_(programming_language)" title="Fortress (programming language)">Fortress</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DADiSP" title="DADiSP">DADiSP</a></li>
<li><a href="FEATool_Multiphysics" title="FEATool Multiphysics">FEATool Multiphysics</a></li>
<li><a href="GAUSS_(software)" title="GAUSS (software)">GAUSS</a></li>
<li><a href="LabVIEW" title="LabVIEW">LabVIEW</a></li>
<li><a href="Maple_(software)" title="Maple (software)">Maple</a></li>
<li><a href="Mathcad" title="Mathcad">Mathcad</a></li>
<li><a href="Wolfram_Mathematica" class="mw-redirect" title="Wolfram Mathematica">Mathematica</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a></li>
<li><a href="MWorks" title="MWorks">MWorks</a></li>
<li><a href="SAS_(software)" title="SAS (software)">SAS</a> (<a href="SAS_Viya" title="SAS Viya">SAS Viya</a>)</li>
<li><a href="Speakeasy_(computational_environment)" title="Speakeasy (computational environment)">Speakeasy</a></li>
<li><a href="VisSim" title="VisSim">VisSim</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div>
<ul><li><b><a href="Comparison_of_numerical-analysis_software" title="Comparison of numerical-analysis software">Comparison</a></b></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1038841319">
/* start https://en.wikipedia.org/ */


.mw-parser-output .tooltip-dotted{border-bottom:1px dotted;cursor:help}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q28865#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1350" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q28865#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1350" style="font-size:114%;margin:0 4em">Authority control databases </div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">International</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.worldcat.org/fast/1084736">FAST</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4434275-5">Germany</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh96008834">United States</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb13560465c">France</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb13560465c">BnF data</a></span></li><li><span class="uid"><span class="rt-commentedText tooltip tooltip-dotted" title="Python (programovací jazyk)"><a rel="nofollow" class="external text" href="https://aleph.nkp.cz/F/?func=find-c&amp;local_base=aut&amp;ccl_term=ica=ph170668&amp;CON_LNG=ENG">Czech Republic</a></span></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007563637105171">Israel</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.idref.fr/051626225">IdRef</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://lux.collections.yale.edu/view/concept/c274a087-484b-4995-8a3c-dde45cfdd7e1">Yale LUX</a></span></li></ul></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-08" href="https://en.wikipedia.org/wiki/?title=Python_(programming_language)&amp;oldid=1304776634">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>